1: // Filename: TWODIMA2.CPP 2: // Purpose: Illustrates passing a two-dimensional array as a parameter. 4: #include <iostream> 5: #include <iomanip> 6: using namespace std; 8: void FindMaxRowVals(/* in */ const int a[][5], 9: /* out */ int maxRowVals[], 10: /* in */ int numRows); 12: int main() 13: { 14: cout << "\nThis program illustrates passing a " 15: << "two-dimensional array as a function " 16: << "\nparameter. Study the source code " 17: << "and the output simultaneously.\n\n"; 19: int a[3][5] = { { 2, 4, 6, 8, 10 }, 20: { -1, -2 }, 21: { 7, 9, 5, 1, 3 } 22: }; 24: int maxValues[3]; 26: FindMaxRowVals(a, maxValues, 3); 28: int row; 29: cout << endl; 30: for (row = 0; row < 3; row++) 31: { 32: cout << "The maximum value in row " 33: << row << " is " << maxValues[row] << "." << endl; 34: } 35: cout << endl; 37: return 0; 38: } 41: void FindMaxRowVals(/* in */ const int a[][5], 42: /* out */ int maxRowVals[], 43: /* in */ int numRows) 44: // Pre: "a" and "numRows" have been initialized. 45: // Post: "maxRowVals" contains the maximum values in the rows of "a", 46: // with the maximum value in row 0 of the (two-dimensional) array 47: // "a" in component 0 of the (one-dimensional) array "maxRowVals", 48: // and so on for the other rows of "a" and "maxRowVals". 49: { 50: int row, col, max; 51: for (row = 0; row < numRows; row++) 52: { 53: max = a[row][0]; 54: for (col = 1; col < 5; col++) 55: { 56: if (a[row][col] > max) 57: max = a[row][col]; 58: } 59: maxRowVals[row] = max; 60: } 61: }