Download presentation
Presentation is loading. Please wait.
1
CS 1430: Programming in C++
2
Arrays float Scores[9]; // one dimensional array
index: 55.5 59.0 47.0 39.0 50.5 60.0 40.0 ? element
3
Two Dimensional Arrays
float allScores[5][9]; column index row index 1 2 3 4
4
Accessing Array Elements
float allScores[5][9]; allScores[0][0] allScores[0][8] column index row index 3.5 3.9 3.2 3.0 1 2 3 4 allScores[2][5] allScores[4][8]
5
Accessing Array Elements
float allScores[5][9]; // Each array element is // the same as a variable cin >> allScores[0][0]; allScores[0][0] += 5.0; cout << allScores[0][0];
6
For Loop and 2-D Arrays float allScores[5][9];
// Input values to 1st row // Row index of 1st row: 0 // Column index: 0 to 8 (size – 1) for (int col = 0; col < 9; col ++) cin >> allScores[0][col]; // inFile >> allScores[0][col];
7
For Loop and 2-D Arrays const int MAX_ROWS = 10;
const int MAX_COLS = 35; float allScores[MAX_ROWS][MAX_COLS]; // Input values to the last column // Column index of last column: 34 (MAX_COLS – 1) // Row index: from 0 to 9 (MAX_ROWS – 1) for (int row = 0; row < MAX_ROWS; row ++) cin >> allScores[row][MAX_COLS - 1]; // inFile >> allScores[row][MAX_COLS - 1];
8
For Loop and 2-D Arrays const int MAX_ROWS = 10;
const int MAX_COLS = 35; float allScores[MAX_ROWS][MAX_COLS]; // Input values to the entire 2-D array for (int row = 0; row < MAX_ROWS; row ++) for (int col = 0; col < MAX_COLS; col ++) cin >> allScores[row][col]; // inFile >> allScores[row][col];
9
For Loop and 2-D Arrays const int MAX_ROWS = 10;
const int MAX_COLS = 35; float allScores[MAX_ROWS][MAX_COLS]; int numRows, numCols; cout << “Enter No. of rows and No. of cols: ”; cin >> numRows >> numCols; // numRows <= MAX_ROWS // numCols <= MAX_COLS for (int row = 0; row < numRows; row ++) for (int col = 0; col < numCols; col ++) cin >> allScores[row][col];
10
Two Dimensional Arrays as Function Parameters
// // The function inputs values to all array // elements within the first numRows rows and // the first numCols columns. // Parameters: (Out, In, In) void GetData(float a[][MAX_COLS], int numRows, int numCols) { for (int row = 0; row < numRows; row ++) for (int col = 0; col < numCols; col ++) cin >> a[row][col]; return; } // Have to specify MAX_COLS! // float a[][MAX_COLS]
11
Two Dimensional Arrays as Function Parameters
// // The function inputs values for numRows and numCols, // then inputs values to all array elements within // the first numRows rows and the first numCols // columns. // Parameters: (Out, Out, Out) void GetAllData(float a[][MAX_COLS], int& numRows,int& numCols) { cin >> numRows >> numCols; for (int row = 0; row < numRows; row ++) for (int col = 0; col < numCols; col ++) cin >> a[row][col]; return; }
12
Two Dimensional Arrays as Function Parameters
// // The function has 3 parameters: // a[][MAX_COLS]: 2-D array of float // colIndex, numRows: int // The function computes and returns the average // value of the column at index colIndex. // Params: ( ? , ? , ? ) float columnAvg( ) { }
13
Two Dimensional Arrays
float columnAvg( ); colIndex numRows - 1
14
Two Dimensional Arrays as Function Parameters
// // The function has 3 parameters: // a[][MAX_COLS]: 2-D array of float // colIndex, numRows: int // The function computes and returns the average // value of the column at index colIndex. // Params: ( In , In , In ) float columnAvg(const float a[][MAX_COLS], int colIndex, int numRows) { float total = 0; for (int row = 0; row < numRows; row ++) total += a[row][colIndex]; return (total / numRows); }
15
Two Dimensional Arrays as Function Parameters
// // The function has 3 parameters: // a[][MAX_COLS]: 2-D array of float // numCols, rowIndex: int // The function finds and returns the column index // of row at index rowIndex that has the max // value among all elements of row rowIndex. // Params: ( ? , ? , ? ) int IndexOfRowMax( ) { }
16
Two Dimensional Arrays
int IndexOfRowMax(); numCols - 1 rowIndex
17
Two Dimensional Arrays as Function Parameters
// // The function has 3 parameters: // a[][MAX_COLS]: 2-D array of float // numCols, rowIndex: int // The function finds and returns the column index // of row at index rowIndex that has the max // value among all elements of the row. // Params: ( In , In , In ) int IndexOfRowMax(const float a[][MAX_COLS], int rowIndex, int numCols) { int index = 0; for (int col = 1; col < numCols; col ++) if (a[rowIndex][col] > a[rowIndex][index]) index = col; return index; }
18
Function Prototypes void GetData(float a[][MAX_COLS], int numRows,
int numCols); void GetAllData(float a[][COL_SIZE], int& numRows, int& numCols); float columnAvg(const float a[][MAX_COLS], int colIndex, int numRows); int IndexOfRowMax(const float a[][MAX_COLS], int rowIndex, int numCols); // Must specify column MAX_SIZE!
19
Two Dimensional Arrays as Function Parameters
const int MAX_ROWS = 10; const int MAX_COLS = 35; int main() { float allScores[MAX_ROWS][MAX_COLS]; int rows, cols; // Input sizes in main() function. cin >> rows >> cols; // Call function GetData(). GetData(allScores, rows, cols); // No [] for allScores ... return; }
20
Call Functions int main() { float allScores[MAX_COLS][MAX_ROWS];
int rows, cols, row, col, index; float average; GetAllData(allScores, rows, cols); cout << "Enter column index: "; cin >> col; average = columnAvg(allScores, col, rows); cout << "The average value of column " << col << " is " << average; cout << "Enter row index: "; cin >> row; index = IndexOfRowMax(allScores, row, cols); cout << "The largest value of row " << row << " is " << allScores[row][index]; // << allScores[row][IndexOfColMax(allScores, row, cols)]; return 0; }
21
Function Prototypes and Function Calls
void GetAllData(float a[][COL_SIZE], int& numRows, int& numCols); float columnAvg(const float a[][MAX_COLS], int colIndex, int numRows); int IndexOfRowMax(const float a[][MAX_COLS], int rowIndex, int numCols); // Function calls GetAllData(allScores, rows, cols); average = columnAvg(allScores, col, rows); index = IndexOfRowMax(allScores, row, cols);
22
Schedule Quiz9-3 (1 bonus point) Name your cpp file as UserName-Quiz9-3.cpp (YangQ-Quiz9-3.cpp) Drop it to K:\Courses\CSSE\yangq\CS1430-Dropbox\Quiz9-3 Lab 11 5 pm Thursday Prog 6 Due Tuesday, Dec 8
23
Test 3 Wednesday, Dec 9 Quiz3 Now
Schedule Test 3 Wednesday, Dec 9 Quiz3 Now
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.