PDA

Visualizza la versione completa : [C] Come istanziare valori casuali in pił arrey


roberto12
13-01-2014, 11:17
Salve a tutti ,

Ho un problema con un esercizio .
devo generare numeri casuali all'interno di due arrey , poi stampare i due arrey con i valori separatamente . Il mio problema sorge quando stampo il secondo arrey che da valori non corretti che paiono strani , posto il codice funzionante ma non corretto . grazie anticipatamente .:)



#include<stdio.h>

int main(){


int a[10][10],b[10][10],i,z;


// inizializzo i valori nei vettori//
for(i=0;i<10;i++){
for(z=0;z<10;z++)


a[i][z]= 0+rand()%6;


b[i][z]= 0+rand()%6;




}
printf("prima matrice\n");
printf("\n");


// prima matrice//
for(i=0;i<10;i++){
for(z=0;z<10;z++)


printf("%4d",a[i][z]);


printf("\n");
}
printf("\n");
//seconda matrice//


printf("seconda matrice\n");
printf("\n");


for(i=0;i<10;i++){
for(z=0;z<10;z++)


printf("%4d",b[i][z]);


printf("\n");


}


return 0;
}

oregon
13-01-2014, 11:52
1) si scrive array ....

2) hai lasciato fuori dal ciclo for l'assegnazione dell'array b. Deve essere



for(z=0;z<10;z++)
{
a[i][z]= rand()%6;
b[i][z]= rand()%6;
}



3) quello 0+ non serve a nulla (da quando sommare zero serve a qualcosa?)

4) manca la chiamata iniziale alla funzione srand per evitare che i valori siano sempre gli stessi

roberto12
13-01-2014, 12:16
grazie ,

ho provato ma risulta sempre lo stesso errore dichiarando la srand(time(NULL)) all'inizio includendo la libreria <time.h>, quindi non posso mettere all'interno dello stesso ciclo l'assegnazione come ho fatto io ? :
for(i=0;i<10;i++){for(z=0;z<10;z++)


a[i][z]= 0+rand()%6;


b[i][z]= 0+rand()%6;




}

oregon
13-01-2014, 13:00
Ma hai compreso la mia risposta sul ciclo for interno ?

roberto12
13-01-2014, 13:19
ok grazie risolto !

Loading