title: Using 2D Arrays in C
body: <p>Ok so I created a program that successfully creates a 2D array and stores random numbers in the array and determines the highest, lowest, and average of the random numbers created using arrays and for loop statements. However I have a feeling that something is incorrect with my code but cannot figure it out. I believe that it is something with the for loop statements I used.</p>
  
  <p>Here is the code:</p>
  
  <pre><code>#include &lt;stdio.h&gt; 
  #include &lt;stdlib.h&gt;
  #include &lt;time.h&gt; 
  
  #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 &lt; ROW ; r++)
      {
          for (c = 0; c &lt; 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 &gt; highrn) 
              {
                  highrn = nextvalue;
                  hr = r;
                  hc = c;
              }
  
              if (nextvalue &lt; 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 ) ;
  
  }
  </code></pre>
  
  <p>This is the output:</p>
  
  <pre><code> 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
  </code></pre>
  
  <p>Can anyone give me some advice as to what might be wrong with the code, or if it is fine as is. Everything functions correctly, but since I have never worked with 2D arrays before i'm not really too sure what I am doing.</p>