わかりましたので、2D 配列を正常に作成し、乱数を配列に格納し、配列と for ループ ステートメントを使用して作成された乱数の最大値、最小値、および平均値を決定するプログラムを作成しました。ただし、コードに何か問題があるような気がしますが、それを理解できません。私が使用した for ループ ステートメントの何かだと思います。
コードは次のとおりです。
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#define ROW 3
#define COLUMN 5
int main( void )
{
int randnum_array [ROW] [COLUMN];
int highrn = 0 , lowrn = 9999999 , total = 0 , nextvalue = 0;
int r = 0 , c = 0 , lr = 0 , lc = 0 , hr = 0 , hc = 0;
float average = 0.0;
srandom ( (unsigned) time (NULL) );
printf( "\n Welcome User, this program creates an array random numbers "
"and stores them into each \n of the 11 elements of the rand_num "
"array. The program then displays the \n highest, lowest, "
"and average of the numbers created.\n\n" ) ;
printf(" Contents of randnum_array:\n\n");
for (r = 0; r < ROW ; r++)
{
for (c = 0; c < COLUMN ; c++)
{
nextvalue = random ( ) % 10001;
printf(" Value in randnum_array row %d column %d is: %d\n", r+1 , c+1 , nextvalue);
randnum_array [r] [c] = nextvalue;
if (nextvalue > highrn)
{
highrn = nextvalue;
hr = r;
hc = c;
}
if (nextvalue < lowrn)
{
lowrn = nextvalue;
lr = r;
lc = c;
}
total = total + nextvalue;
}
}
average = (float)total / (ROW * COLUMN);
printf("\n The lowest value is %d in row %d column %d.", lowrn , lr+1 ,
lc+1 ) ;
printf("\n The highest value is %d in row %d column %d.", highrn , hr+1 ,
hc+1) ;
printf("\n The average of all of the numbers in the randnum_array"
" is: %-7.3f", average ) ;
printf("\n\n Thank you for using this program\n\n" ) ;
return ( 0 ) ;
}
これは出力です:
Welcome User.
Contents of randnum_array:
Value in randnum_array row 1 column 1 is: 2375
Value in randnum_array row 1 column 2 is: 102
Value in randnum_array row 1 column 3 is: 1754
Value in randnum_array row 1 column 4 is: 6464
Value in randnum_array row 1 column 5 is: 3237
Value in randnum_array row 2 column 1 is: 3495
Value in randnum_array row 2 column 2 is: 2221
Value in randnum_array row 2 column 3 is: 5663
Value in randnum_array row 2 column 4 is: 885
Value in randnum_array row 2 column 5 is: 8442
Value in randnum_array row 3 column 1 is: 4465
Value in randnum_array row 3 column 2 is: 4561
Value in randnum_array row 3 column 3 is: 9182
Value in randnum_array row 3 column 4 is: 1781
Value in randnum_array row 3 column 5 is: 7478
The lowest value is 102 in row 1 column 2.
The highest value is 9182 in row 3 column 3.
The average of all of the numbers in the randnum_array is: 4140.333
Thank you for using this program
コードの何が問題なのか、またはそのままで問題ないのか、誰かアドバイスをいただけますか。すべてが正しく機能しますが、2D 配列を扱ったことがないので、自分が何をしているのかよくわかりません。