Download presentation
Presentation is loading. Please wait.
1
Multiple-Subscripted Array
What it is How to use it How to declare it How to initialize it
2
Multiple-Subscripted Arrays
Use more than one subscript (can have up to 12) Double-subscripted array (2 subscripts)
3
Double-subscripted array
good for representing tables in memory one subscript is the row second subscript is the column
4
Double-subscripted array
column 0 column 1 column 2 column 3 row 0 a[0][0] a[0][1] a[0][2] a[0][3] row 1 a[1][0] a[1][1] a[1][2] a[1][3] a[2][0] a[2][1] a[2][2] a[2][3] row 2 column subscript row subscript array name = a a double-subscripted array with 3 rows and 4 columns 3 by 4 array
5
Referencing elements in a double-subscripted array
To set the element in row 2 and column 3 to the value 4 use: a [2] [3] = 4; column subscript row subscript name of the array
6
Declaring a 3 by 4 array int a [3] [4];
must tell compiler name, size (2 sizes) and type all elements of the array must be the same type any data type is fine (int, float, char, etc.)
7
Declaring a double-subscripted array
Must use constants to declare row and column sizes. int a [3] [4]; char letters [2] [26]; #define ROW 3 #define COLUMN 4 int a [ROW] [COLUMN]; const int row = 3; const int column = 4; int a [row] column]; const int array_size 5 defines array_size to be a constant variable that cannot be changed. It will always hold the number 5. constant variables may be used to declare the size of an array since they don’t change.
8
Initializing a double-subscripted array
const int row = 3; const int column = 4; int a [row] [column]; for (int i = 0; i < row; i++) { for (int j = 0; j < column; j++) { a [i][j] = 0; }
9
Initializing a double-subscripted array with declaration
const int row = 3; const int column = 4; int a[row] [column] = {{1,2,3,4}, {1,2,3,4}, {1,2,3,4}}; 1 2 3 4 3 1 2 4 3 4 1 2
10
Initializing a double-subscripted array with declaration
const int row = 3; const int column = 4; int a[row] [column] = {{1,2,3}, {1,2}, {1,2,3,4}}; 1 2 3 1 2 3 4 1 2
11
Setting entire array to 0
const int row = 3; const int column = 4; int a [row] [column] = {0};
12
Exercises Answer the following questions regarding an array called table that is a double-subscripted array with 2 rows and 3 columns. 1) Define constant variables numRows and numCols to be used to declare the array. 2) Declare the array to be an integer array. 3) Use a for loop to initialize each element of the array to be the sum of it’s subscripts 4) Write a code segment to print the array as a table.
13
How double-subscripted arrays are stored in memory
table 1 2 3 4 5 6 7 8 9 10 11 12 table 1 2 3 4 5 6 7 8 9 10 11 12
14
passing double-subscripted array to a function
Must tell function size of second subscript so it can find the beginning of each row in memory. void PrintTable (int table [ ] [4], int numRows, int numCols) { for (int i = 0; i < numRows; i++) { for (int j = 0; j < numCols; j++) { cout << setw(4) << table [i] [j]; } cout << endl;
15
passing double-subscripted array to a function
passed as reference parameter Use const to prevent function changing the array. void PrintTable (const int table [ ] [4], int numRows, int numCols);
16
Exercises Write a main program as follows:
Use the results of the last set of exercises to declare an array of type integers with 2 rows and 3 columns and initialize each element to the sum of it’s subscripts. Call the PrintTable function to print the array. Create a function called PrintTable to print each element of the array in tabular form.
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.