PDA

View Full Version : riempire una matrice con numeri casuali


robs05
24-01-2007, 17:49
devo creare una cartella della tombola.

prima di mettere tutte le condizioni necessarie, volevo provare a riempire la matrice a caso.

perchè mi genera sempre lo stesso numero anche se utilizzo la funzione time?
grazie anticipatamente a chi può essermi d'aiuto

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int genera_num();
void main()
{
int a[3][5],i,j;

for(j=0;j<3;j++)
{
for(i=0;i<5;i++)
{
a[i][j]=genera_num();
if(a[i][j]==a[i-1][j-1])
{
a[i][j]=genera_num();
}
}
}


for(j=0;j<3;j++)
{
for(i=0;i<5;i++)
{
printf(" %d",a[i][j]);
}
printf("\n");
}



system("Pause");
return 0;
}



int genera_num()
{
int n;
srand(time(NULL));
n=1+rand()%90;
return n;
}

cionci
24-01-2007, 22:15
Ti ho descritto come generare la cartella nell'altro thread...

Comunque srand(time(NULL)); lo devi chiamare una sola volta per l'intero programma. rand ti ritorna lo stesso numero perchè inizializzi ogni volta il generatore casuale con lo stesso valore (quello appunto ritornato da time)...