10.2k views
1 vote
Write a program that uses a two-dimensional array to store the highest and lowest temperatures for each month of the year. The program should output the average high, average low, and the highest and lowest temperatures for the year. Your program must consist of the following functions: 1. Function getData: This function reads and stores data in the two- dimensional array. 2. Function averageHigh: This function calculates and returns the average high temperature for the year. 3. Function averageLow: This function calculates and returns the aver- age low temperature for the year. 4. Function indexHighTemp: This function returns the index of the highest high temperature in the array. 5. Function indexLowTemp: This function returns the index of the low- est low temperature in the array. These functions must all have the appropriate parameters.

2 Answers

4 votes

Final answer:

The two-dimensional array-based program handles temperature data with five functions aimed at entering data, calculating averages, and finding extreme temperatures, aiding in comprehensive temperature analysis and display.

Step-by-step explanation:

The problem requires the creation of a program to manage temperature data using a two-dimensional array. The program has five distinct functions: getData to input the data, averageHigh and averageLow to calculate average temperatures, and indexHighTemp and indexLowTemp to identify the highest and lowest temperatures for the year.

This program can be useful in studying global temperatures, writing numbers in scientific notation to reflect the precision of measurements, and plotting time series graphs to display the chronological order of temperatures. By calculating means or constructing histograms, this data can provide valuable insights into climate patterns.

User Cheedep
by
4.1k points
2 votes

Answer:

#include <iostream>

#include <fstream>

#include <cstdlib>

#include <iomanip>

using namespace std;

void getData(int array [12][2], ifstream& infile);

double averageHigh (int array [12][2]);

double averageLow (int array [12][2]);

int indexHighTemp (int array [12][2], ofstream& outfile);

int indexLowTemp (int array [12][2], ofstream& outfile);

int main()

{

int array [12][2];

int high;

int low;

ifstream infile;

ofstream outfile;

infile.open("E:\\program6input.txt");

outfile.open("E:\\program6ouput.txt");

outfile << "Daniel" <<endl;

outfile<<endl;

outfile<<fixed<<showpoint<<setprecision(2);

getData(array, infile);

averageHigh(array);

outfile << setw(18) << left << "Average High Temp:" << averageHigh (array)<<endl;

averageLow (array);

outfile << setw(18) << left << "Average Low Temp:"<<averageLow (array)<<endl;

high = indexHighTemp (array, outfile);

low = indexLowTemp (array, outfile);

outfile << setw(18) << left << "Highest Temp:";

outfile << high << endl;

outfile << setw(18) << left << "Lowest Temp:";

outfile << low << endl;

infile.close();

outfile.close();

system("pause");

}

void getData (int array[12][2], ifstream& infile)

{

int x;

int y;

for(x=0; x<12; x++)

{

for(y=0; y<2; y++)

{

infile >> array[x][y];

}

}

}

double averageHigh (int array [12][2])

{

double avg;

double sum;

int x;

int y;

avg = 0;

sum = 0;

for (x = 0; x<12; x++)

{

{

sum = sum + array[x][0];

}

}

avg = sum / x;

return avg;

}

double averageLow (int array[12][2])

{

double avg2;

double sum2;

int x;

int y;

avg2=0;

sum2=0;

for (x=0; x<12; x++)

{

{

sum2 = sum2 + array[x][1];

}

}

avg2 = sum2 /x;

return avg2;

}

int indexHighTemp (int array[12][2], ofstream& outfile)

{

int highest;

int x;

int y;

int xx;

int yy;

highest = array[0][0];

for (x=0; x<12; x++)

{

for (y=0; y<2; y++)

{

if (highest < array[x][y])

{

highest =array[x][y];

xx=x;

yy=y;

}

}

}

outfile << setw(18) << left << "High Temp Index:"<< "[" << xx << ","<< yy<< "]" << endl;

return highest;

}

int indexLowTemp (int array[12][2], ofstream& outfile)

{

int lowest;

int x;

int y;

int xx;

int yy;

lowest = array[0][0];

for (x=0; x<12; x++)

{

for (y=0; y<2; y++)

{

if (lowest > array[x][y])

{

lowest = array[x][y];

xx = x;

yy = y;

}

}

}

outfile << setw(18) << left << "Low Temp Index:" << "[" << xx << "," << yy <<"]" << endl;

return lowest;

}

Step-by-step explanation:

User Darussian
by
3.1k points