Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 1430: Programming in C++.

Similar presentations


Presentation on theme: "CS 1430: Programming in C++."— Presentation transcript:

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


Download ppt "CS 1430: Programming in C++."

Similar presentations


Ads by Google