1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
#include <iostream>
#include <iomanip>
using namespace std;
const int MAXROWS = 10;
const int MAXCOLS = 10;
typedef float PriceType[MAXROWS][MAXCOLS]; // creates a new data type
// of a 2D array of floats
void getPrices(PriceType, int&, int&); // gets the prices into the array
void printPrices(PriceType, int, int); // prints data as a table
float findHighestPrice(PriceType table, int numOfRows, int numOfCols);
int main(){
int rowsUsed; // holds the number of rows used
int colsUsed; // holds the number of columns used
PriceType priceTable; // a 2D array holding the prices
int numOfRows;
int numOfCols;
getPrices(priceTable, rowsUsed, colsUsed); // calls getPrices to fill the array
printPrices(priceTable, rowsUsed, colsUsed);// calls printPrices to display array
findHighestPrice(priceTable, numOfRows, numOfCols); // calls findHighestPrice to display
return 0;
}
//*******************************************************************************
// getPrices
//
// task: This procedure asks the user to input the number of rows and
// columns. It then asks the user to input (rows * columns) number of
// prices. The data is placed in the array.
// data in: none
// data out: an array filled with numbers and the number of rows
// and columns used.
//
//*******************************************************************************
void getPrices(PriceType table, int& numOfRows, int& numOfCols){
cout << "Please input the number of rows from 1 to " << MAXROWS << endl;
cin >> numOfRows;
cout << "Please input the number of columns from 1 to " << MAXCOLS << endl;
cin >> numOfCols;
float usrInput;
for (int row = 0; row < numOfRows; row++){
for (int col = 0; col < numOfCols; col++){
cout << "Please input the price of an item with 2 decimal places: " << endl;
cin >> usrInput;
table[row][col] = usrInput;
// Fill in the code to read and store the next value in the array.
}
}
}
//***************************************************************************
// printPrices
//
// task: This procedure prints the table of prices
// data in: an array of floating point numbers and the number of rows
// and columns used.
// data out: none
//
//****************************************************************************
void printPrices(PriceType table, int numOfRows, int numOfCols){
cout << fixed << showpoint << setprecision(2);
for(int row = 0; row < numOfRows; row++){
for(int col = 0; col < numOfCols; col++){
// Fill in the code to print the table
float tmp = table[row][col];
cout << "\t" << tmp;
}
cout << endl;
}
}
// This function returns the highest price in the array
float findHighestPrice(PriceType table, int numOfRows, int numOfCols){
float highestPrice;
highestPrice = table[0][0]; // make first element the highest price
for (int row = 0; row < numOfRows; row++){
for(int col = 0; col < numOfCols; col++){
if( highestPrice < table[row][col] ){
highestPrice = table[row][col];
}
}
return highestPrice;
}
}
|