O Randomize()

  • Автор темы AntonKos
  • Дата начала
A

AntonKos

Гость
#1
Поясните мне пожалуйста,почему при включении этой функции, переменные не задейственные в процессе генерации случайных чисел,тоже принимают случайные значения.
Вот пример:

X=0;
Y=0;
i=0;
randomize();
function(); //функция генерации случайных чисел определенным образом : построение матрицы из случайных чисел
printf("X=%d",X);
printf("Y=%d",Y);
printf("i=%d",i);

в принтахф выводит случайные значения,хотя нигде нет действий над ними...
 
D

Dobermann

Гость
#2
Привет!
Не знаю как там у тебя у меня все нормально работает!
Пришли полностью свой код, я помогу
 

grigsoft

Well-Known Member
15.11.2005
735
0
#3
Потому что функция твоя криво заполняет матрицу, выходя за границы массивов. Следи за индексами.
 
A

AntonKos

Гость
#4
вот код:

Код:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int i;
int X,Y;
int A1[3][3];
int j,k;
void kvadrat3x3(void)
{
for (j=1;j<=3;j++)
{
for (k=1;k<=3;k++)
{
A1[j][k]=random(10);

while (A1[j][k]==0||A1[j][k]==A1[j][k-1]||A1[j][k]==A1[j][k-2]||A1[j][k]==A1[j-1][k]||A1[j][k]==A1[j-1][k-1]||A1[j][k]==A1[j-1][k-2]||A1[j][k]==A1[j-2][k]||A1[j][k]==A1[j-2][k-1]||A1[j][k]==A1[j-2][k-2])
{
A1[j][k]=random(10);
}
printf("%d",A1[j][k]);

printf(" ");

}

printf("\n\n");
}
}
void main()

{
clrscr();
X=0;
Y=0;
i=0;
randomize();

kvadrat3x3();

printf("X=%d \n",X);
printf("Y=%d \n",Y);
printf("i=%d \n",i);
}
 
04.09.2006
2 566
2
#5
1. Индексация элементов массивов в Си и Си++ начинается с 0 (нуля). А у вас с чего?
2. Про теги кода на форуме знаете?
 
A

AntonKos

Гость
#6
1.С индексацией разобрался.Спасибо за помощь.
2.Знаю,сорри что накосячил.

Тему можно закрывать,вопрос исчерпан.