Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

This is the assignment: \"Write a program that uses a two-dimensional array to s

ID: 3535128 • Letter: T

Question

This is the assignment:
"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:
a) Function getData: This function reads and stores data in the two-dimensional array.
b) Function averageHigh: This function calculates and returns the average high temperature for the year.
c) Function averageLow: This function calculates and returns the average low temperature for the year.
d) Function indexHighTemp: This function returns the index of the highest high temperature in the array.
e) Function indexLowTemp: This function returns the index of the lowest low temperature in the array."

My teacher gave us some data and wants us to input it using a file. My question is, how should I write the input file to get each temperature into its correct slot in the array? Also, am I inputting the file correctly? Thanks.

-Puckett

What I have so far.


#include <iostream>

#include <fstream>


using namespace std;


const int months = 12;


void getData(double [][ 2 ], int);

double averageHigh(double [] [ 2 ], int);

double averageLow(double [] [ 2 ], int);

int indexHighTemp(double [] [ 2 ], int);

int indexLowTemp(double [] [ 2 ], int);


int main()

{

double temperatures[months][2];

getData(temperatures, months);


cout << " The average high temp. for the year: "

<< averageHigh(temperatures, months) << endl;

cout << " The average low temp. for the year: "

<< averageLow(temperatures, months) << endl;


cout << " Index of highest temp. for the year: "

<< indexHighTemp(temperatures, months) << endl;

cout << " Index of lowest temp. for the year: "

<< indexLowTemp(temperatures, months) << endl;


system("PAUSE");

return 0;

}


void getData(double t[][2], int m)

{

int i;

ifstream inFile;

ofstream outFile;


inFile.open("tempsFile.txt");

if (!inFile)

{

cout << "Cannot open input file."

<< endl;

}

for (int i=0; i<m; i++)

inFile >> t[i][0];

cout << endl;

inFile >> t[i][1];

cout << endl;

}


double averageHigh(double t[] [2], int m)

{

double sum = 0;


for (int i=0; i<m; i++)

sum += t[i][0];

return (sum/m);

}


double averageLow(double t[][2], int m)

{

double sum = 0;

for (int i=0; i<m; i++)

sum += t[i][1];

return (sum/m);

}


int indexHighTemp(double t[][2], int m)

{

int ind = 0;

double highest = t[0][0];


for (int i=1; i<m; i++)

if (t[i][0] > highest)

{

highest = t[i][0];

ind = i;

}

return ind;

}


int indexLowTemp(double t[][2], int m)

{

int ind = 0;

double lowest = t[0][1];


for (int i=1; i<m; i++)

if (t[i][1] < lowest)

{

lowest = t[i][1];

ind = i;

}

return ind;

}

Explanation / Answer

ANSWER


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;

}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote