Remplir tableau avec des nombres aléatoires et imprimer à l’écran

Je suis un débutant qui tente de remplir un tableau 2D de 3×5 avec un nombre aléatoire, puis d’afficher les valeurs haute, basse et moyenne à l’écran. Je n’arrive pas à imprimer mon tableau à l’écran. Puis-je avoir une aide s’il vous plait?

#include  #include  #include  int main (void){ int array [3][5]; int practice_array; int i, row, col; srand(time(NULL)); for ( row = 0; row < 3; row +1){ for ( col = 0; col < 5; col +1){ array[row][col] = (rand()%10000) + 1; } } practice_array = array[row][col]; printf("%d", array[row][col]); return (0); } 

Vous avez 3 problèmes principaux:

1. Comme Jongware le dit dans son commentaire, le printf devrait être à l’intérieur des boucles, pas à l’extérieur.

2. #include n’existe pas, c’est #include

3. la row +1 doit être row = row + 1 , ou row += 1 , ou row++ , ou ++row (dans ce cas, nous utilisons habituellement row++ ou ++row ). Bien sûr, vous devez faire de même pour le col

Secondaire:

une. practice_array et moi sums inutiles ici.

b. vous avez probablement oublié le \n dans le printf .

J’ai corrigé votre code + j’ai ajouté les valeurs min, max et moyenne:

 #include  #include  #include  #define ROWS_NB 3 #define COLS_NB 5 #define MIN_VAL 1 #define MAX_VAL 10000 int main(void) { int array[ROWS_NB][COLS_NB]; int row; int col; int val; int min = MAX_VAL; int max = MIN_VAL; int avg = 0; srand(time(NULL)); for (row = 0; row < ROWS_NB; ++row) { for (col = 0; col < COLS_NB; ++col) { val = (rand() % (MAX_VAL - MIN_VAL)) + MIN_VAL; if (val < min) min = val; else if (val > max) max = val; avg += val; array[row][col] = val; //printf("%d ", val);/* uncomment if you want to print the array */ } //printf("\n");/* uncomment if you want to print the array */ } avg /= ROWS_NB * COLS_NB; printf("min: %d\nmax: %d\naverage: %d\n", min, max, avg); return (0); } 

Vous ne pouvez pas simplement imprimer un tableau comme ça. Chaque élément doit être imprimé par ses propres moyens.

for ( row = 0; row < 3; row++){ for ( col = 0; col < 5; col++){ printf ("%d ", array[row][col]); } }

Il y a différentes choses dans le code que j’ai corrigé pour vous.

La bibliothèque que vous souhaitez inclure est stdio.h La valeur de col et row n’a pas été mise à jour correctement et les instructions printf doivent être placées dans les boucles et imprimer chaque valeur lorsqu’elle est affichée

 include  include  include  int main (void) { int array [3][5]; int i, row, col; srand(time(NULL)); for ( row = 0; row < 3; row++) { for ( col = 0; col < 5; col++) { array[row][col] = (rand()%10000) + 1; printf("%d ", array[row][col]); } printf("\n"); } return (0); }