title: For loop within a for loop in c
body: <p>For some reason my outer for loop does not seem to be doing anything, I have checked all the paranthesis and everything looks ok but it is still not looping.
  With this program I want to sum 50 random numbers (the numbers can either be 1 or -1...it's for a computational physics problem) and print the magnitude, which the program does. BUT I want to go further and do this 10 times, and calculate the average magnitude.
  I know what I need to do I'm just having a problem with this loop.</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  #include&lt;math.h&gt;
  #include&lt;stdlib.h&gt;
  #include&lt;time.h&gt; //Neeed this to seed the random generator with time, or else it      will always generate the same numbers.
  
  //This is a program to calculate the magnitude of the displacement of a particle after    random collisions.
  #define RAND_MAX 1
  int main()
  {   
      //using ints because the particle can only move one unit on x-axis at a time.
      int i, x, displacement, sum = 0, avg;
      int total_disp=0, mag_disp;
      srand(time(NULL));
  
  
      //Each collision causes the particle to advance or retreat by one unit on the x axis.
  
      for(i=0; i&lt;10; i++)
      {   
          for (i=0; i&lt;50; i++)    //for 50 collisions
          {
  
              x = rand() % 2;  //generates random numbers between 0 and 1.
              if (x==0)   //if x is 0 then it was a displacement in the minus x direction
              {
                  displacement = -1;
              }
              else {  //if x is 1 it is a displacement in the minus x direction
                  displacement = 1;
              }
              printf("the disp is : %d\n", displacement);
              total_disp = total_disp + displacement;     //sum the displacements
  
          }
  
          if (total_disp &lt; 0) {
              mag_disp = total_disp * -1;
          }
  
          else{ mag_disp = total_disp; }
  
          printf("The total displacement is: %d\n", mag_disp);
          sum = sum + mag_disp;   //sum of the displacement magnitudes, there should be ten of them in this case
          avg = sum / i; //average displacement is the sum of all the magnitudes divded by the number of times this is performed.
          printf("The average displacement for i = %d particles is: %d", i, avg);
      }
      return 0;
  }
  </code></pre>