Using pointers in C
Modify the rain program in L isting 10.7 so that it does the calculations using pointers instead of subscripts. (You still have to declare and initialize the array.)
10.7
/* rain.c -- finds yearly totals, yearly average, and monthly
average for several years of rainfall data */
#include <stdio.h>
#define MONTHS 12 // number of months in a year
#define YEARS 5 // number of years of data
int main(void)
{
// initializing rainfall data for 2000 - 2004
const float rain[YEARS][MONTHS] =
{
{ 4.3, 4.3, 4.3, 3.0, 2.0, 1.2, 0.2, 0.2, 0.4, 2.4, 3.5, 6.6 },
{ 8.5, 8.2, 1.2, 1.6, 2.4, 0.0, 5.2, 0.9, 0.3, 0.9, 1.4, 7.3 },
{ 9.1, 8.5, 6.7, 4.3, 2.1, 0.8, 0.2, 0.2, 1.1, 2.3, 6.1, 8.4 },
{ 7.2, 9.9, 8.4, 3.3, 1.2, 0.8, 0.4, 0.0, 0.6, 1.7, 4.3, 6.2 },
{ 7.6, 5.6, 3.8, 2.8, 3.8, 0.2, 0.0, 0.0, 0.0, 1.3, 2.6, 5.2 }
};
int year, month;
float subtot, total;
printf(" YEAR RAINFALL (inches)\n");
for (year = 0, total = 0; year < YEARS; year++)
{ // for each year, sum rainfall for each month
for (month = 0, subtot = 0; month < MONTHS; month++)
//subtot += rain[year][month];
subtot += *(*(rain + year) + month);
printf("%5d %15.1f\n", 2000 + year, subtot);
total += subtot; // total for all years
}
printf("\nThe yearly average is %.1f inches.\n\n",
total / YEARS);
printf("MONTHLY AVERAGES:\n\n");
printf(" Jan Feb Mar Apr May Jun Jul Aug Sep Oct ");
printf(" Nov Dec\n");
for (month = 0; month < MONTHS; month++)
{ // for each month, sum rainfall over years
for (year = 0, subtot = 0; year < YEARS; year++)
//subtot += rain[year][month];
subtot += *(*(rain + year) + month);
printf("%4.1f ", subtot / YEARS);
}
printf("\n");
return 0;
}
9 years ago 10
Purchase the answer to view it
- rain2.zip
- Protection and Rights
- erik erikson
- Anthropology of Religion
- as agreed
- Product descriptions
- HR Management assignment help please
- Download the “Lab 6 troubleshooting” file and perform analysis for the circuits to locate the fault embedded in the circuit. Step by step measure the key point’s value with Agilent multimeter. Carefully analyze each measured value to locate the fault wit
- Monitoring Workplace Issues with Recruiting
- workforce development and planning W2
- Project Part 2 Task 1: Business Impact Analysis (BIA) Plan This part of the project is a continuation of Project Part 1 in which you prepared an RA plan and a risk mitigation plan for Health Network. Senior management at the company has decided to allo