2 D Arrays Declaration Initialization Declaration You can

  • Slides: 6
Download presentation
2 -D Arrays Declaration & Initialization

2 -D Arrays Declaration & Initialization

Declaration • You can think of 2 D arrays as a matrix rows and

Declaration • You can think of 2 D arrays as a matrix rows and columns: – a 4 x 3 matrix 2 5 4 1 3 7 6 2 1 9 8 0 – 4 rows and 3 columns – int x[4][3];

Declaration and Initialization int x[4][3] = {{1, 2, 4}, {2, 3, 5}, {1, 4,

Declaration and Initialization int x[4][3] = {{1, 2, 4}, {2, 3, 5}, {1, 4, 2}, {4, 3, 1}}; – x[1][2] ? – x[3][1] ? –? –? int x[][3] = {{1, 2, 4}, {2, 3, 5}, {1, 4, 2}, {4, 3, 1}}; int x[4][3] = {1, 2, 4, 2, 3, 5, 1, 4, 2, 4, 3, 1}; int x[4][3] = {1, 2, 4, 2, 3, 5, 1, 4}; int x[4][3] = {{1, 2, 4}, {2, 3, 5}, {1, 4, 0}, {0, 0, 0}};

Filling a 2 d array for(i=0; i<rows; i++) { for(j=0; j<cols; j++) { x[i][j]

Filling a 2 d array for(i=0; i<rows; i++) { for(j=0; j<cols; j++) { x[i][j] = rand()%10; } }

Survey • A survey has 15 questions and each question has 5 answers. The

Survey • A survey has 15 questions and each question has 5 answers. The survey results are in a file called Survey. txt in the following format: 145353451123245 432434512322431 123234345342125 … • Read each survey result into an array – – – • • • How many people surveyed? Number of lines (Nlines). How many questions in each survey? Number of columns = 15 (Nquest) How many different values for each question? 5 (Nvalue) Need to use two dimensional array int Srvy[Nlines][Nquest] What is the value of Srvy[2][10]?

Survey Sz=--i; #include <stdio. h> #define NLINES 100 #define NQUEST 15 /* Print array

Survey Sz=--i; #include <stdio. h> #define NLINES 100 #define NQUEST 15 /* Print array */ for(i=0; i<Sz; i++) { for(j=0; j<NQUEST; j++) printf("%d ", Sarr[i][j]); printf("n"); } int main(void) { FILE*flp; int. Sarr[NLINES][NQUEST] = {0}; inti, j; int. Status=1, Sz; flp = fopen("Survey. txt", "r"); /* Fill array */ i=0; while(Status != EOF) { for(j=0; j<NQUEST; j++) { Status = fscanf(flp, "%d", &Sarr[i][j]); if(Status == EOF) break; } i++; } fclose(flp); } return(0);