Im trying to make this program for class that compares to array that represent stock values on different days. The arrays are these two below...

Theres four different reports that do a calculation (i.e. tally # of days stock 1 exceeds stock 2) then print out a report of the answers. The class is almost over and I have been doing very well but I am stumped on the third report.Code:`float stock1[ ] =`

{34.25,40.50,36.50,40.00,

30.25,30.25,35.50,36.00,

34.25,37.00,34.00,35.00,

36.25,34.25,40.50,41.50,

41.50,40.00,36.50,34.50};

float stock2[ ] =

{40.25,38.50,34.50,33.50,

30.50,29.75,37.50,38.00,

34.75,38.00,34.25,37.00,

34.25,37.50,34.50,38.50,

37.50,37.25,38.25,37.50};

"Report 3: Compute the five-day moving average for all stocks and display these averages."

So basically I have to make a loop calculating the average (stock0-4), then divide by 5, then assign it to an array value and repeat, but the 2nd loop totals stocks 1-5 and so on till its stock 16-20.

So, onto my code at the moment. Right now I am almost positive that the code is right, but for some reason instead of printing ANY of the results, the program crashes. Ive been in the class for awhile now and I have close to a 100%, so I should be able to figure this out myself, but I am completely stumped. So heres the code, hopefully someone can help me out.

In the report 3 calculations the outer for loop does the calculation 20 times and the inner loop does the adding of the 5 stocks, then computes the average and assigns it inside the outer for loop.Code:`#include <stdio.h>`

#include <conio.h>

#include <process.h>

#include "util.h"

#define MAX 20

#define FIVEDAYAVG 5

int main()

{

int i=0, x=0;

int stock1Counter=0, stock2Counter=0, sameStockCounter=0; //Report1 Varibles

int stock1AvgCount=0, stock2AvgCount=0; //Report2 Varibles

double stock1Average=0, stock2Average=0, stock1Total=0, stock2Total=0; //Report2 Varibles

double average=0; //Report3 Varibles

int z=5, y=0; //Report 3 Varibles

float fiveDayStock1[ ] = {0}, fiveDayStock2[ ] = {0}; //Report3 Varibles

int fiveDay1Counter=0, fiveDay2Counter=0, sameFiveDayCounter=0; //Report4 Varibles

float stock1[ ] = {34.25,40.50,36.50,40.00,30.25,30.25,35.50,36.00,34.25,37.00,34.00,35.00,36.25,34.25,40.50,41.50,41.50,40.00,36.50,34.50};

float stock2[ ] = {40.25,38.50,34.50,33.50,30.50,29.75,37.50,38.00,34.75,38.00,34.25,37.00,34.25,37.50,34.50,38.50,37.50,37.25,38.25,37.50};

//REPORT 1

for (i=0; i < MAX; i++)

{

if (stock1[i] > stock2[i])

stock1Counter++;

else if (stock2[i] > stock1[i])

stock2Counter++;

else

sameStockCounter++;

}

//REPORT 2

for (i=0; i < MAX; i++)

{

stock1Total = (stock1Total + stock1[i]);

stock2Total = (stock2Total + stock2[i]);

}

stock1Average = stock1Total / MAX;

stock2Average = stock2Total / MAX;

for (i=0; i < MAX; i++)

{

if (stock1[i] > stock1Average)

stock1AvgCount++;

else if (stock2[i] > stock2Average)

stock2AvgCount++;

}

//REPORT 3

for (i=0; i<MAX; i++)

{

for (x=z-5; x<z; x++)

average = (average + stock1[x]);

average = (average / FIVEDAYAVG);

fiveDayStock1[i] = average;

average = 0; //clears average

z++;

}

z=5; //resets counter

average=0; //resets average

for (i=0; i<MAX; i++)

{

for (x=z-5; x<z; x++)

average = (average + stock2[x]);

average = (average / FIVEDAYAVG);

fiveDayStock2[i] = average;

average = 0; //clears average

z++;

}

//REPORT 4

for (i=0; i<MAX; i++)

{

if (fiveDayStock1[i] > fiveDayStock2[i])

fiveDay1Counter++;

else if (fiveDayStock2[i] > fiveDayStock1[i])

fiveDay2Counter++;

else

sameFiveDayCounter++;

}

//REPORT 1 RESULTS

printf("\nThe number of days on which stock 1 exceeds stock 2 is %d\n", stock1Counter);

printf("The number of days on which stock 2 exceeds stock 1 is %d\n", stock2Counter);

printf("The number of days on which both stocks are the same price is %d\n\n", sameStockCounter);

//REPORT 2 RESULTS

printf("\nThe average of stock 1 is %lf\n", stock1Average);

printf("The average of stock 2 is %lf\n", stock2Average);

printf("The number of times stock 1 exceeds the stock 1 average is %d\n", stock1AvgCount);

printf("The number of times stock 2 exceeds the stock 2 average is %d\n", stock2AvgCount);

//REPORT 3 RESULTS

printf("\n~~~STOCK 1 ~~~\n");

for (i=0; i<MAX; i++)

printf("Moving average #%d = %lf\n", i+1, fiveDayStock1[i]);

printf("\n~~~STOCK 2 ~~~\n");

for (i=0; i<MAX; i++)

printf("Moving average #%d = %lf\n", i+1, fiveDayStock2[i]);

//REPORT 4 RESULTS

printf("\nThe number of days stock 1's moving average exceeds stock 2's = %d\n", fiveDay1Counter);

printf("The number of days stock 2's moving average exceeds stock 1's = %d\n", fiveDay2Counter);

printf("The number of days stock 1 and stock 2's moving average was equal = %d\n", sameFiveDayCounter);

getch();

return 0;

}