Student | Mathematics | Physics | Chemistry |
---|---|---|---|
Student # 1 | 89 | 77 | 84 |
Student # 2 | 98 | 89 | 80 |
Student # 3 | 75 | 70 | 80 |
Student # 4 | 60 | 75 | 80 |
Student # 5 | 84 | 80 | 75 |
• The above table contains a total of 15 values.
• We can think this table as a matrix consisting of 5 rows & 3 columns.
• Each row represents marks of student # 1 in all (different) subjects.
• Each column represents the subject wise marks of all students.
• In mathematics we represent a particular value in a matrix by using two subscripts such as Vij. Here V denotes the entire matrix Vij refers to the value in “ i ”th row and “ j ”th column.
Example :
In the above table V23 refers to the value “80”.
C allows us to define such tables of items by using two-dimensional arrays.
Definition :
A list of items can be given one variable name using two subscripts and such a variable is called a two – subscripted variable or a two – dimensional array.
Two – Dimensional arrays can be declared as.
The above table can be defined in “C” as
The above table can be defined in “C” as
Representation of a two Dimensional array in memory :
Initializing Two- Dimensional Arrays :
• Like the one-dimensional arrays, two-dimensional arrays may be initialized by following their declaration with a list of initial values enclosed in braces.
int table[2] [3] = {0,0,0,1,1,1};
• This initializes the elements of first row to zero and the second row to one.
• This initialization is done row by row.
• The above statement can be equivalently written as
int table[2][3] ={{0,0,0},{1,1,1}};
• we can also initialize a two-dimensional array in the form of a matrix as shown.
int table[2][3] = {
{0,0,0},
{1,1,1}
};
• Commas are required after each brace that closes of a row, except in case of last row.
• If the values are missing in an initialize, they are automatically set to zero.
Ex: int table [2] [3] = {
{1,1}, 1 1 0
{2} 2 0 0
};
# include<stdio.h>
# include<conio.h>
main( ) {
int i,j;
int a[3][3] = { { 1,2,3}, {4,5,6}, {7,8,9}};
printf(“elements of an array \n \n”);
for( i=0; i<3; i++) {
for ( j=0; j<3; j++){
printf (“%d\t”, a[ i ][ j ]);
} printf(“\n”);
}
getch();
}
Elements of an Array
1 2 3
4 5 6
7 8 9
# include<stdio.h>
# include<conio.h>
main( )
{
int i,j,r1,c1, a[10][10], b[10][10];
clrscr( );
printf(“Enter Order of Matrix A & B up to 10 x 10:”);
scanf(“%d %d”, &r1, &c1);
printf(“Enter Elements of Matrix of A: \n”);
for( i=0; i<r1; i++)
{
for( j=0; j<c1; j++)
scanf(“ %d ”, &a[ i ][ j ]);
}
printf(“Enter Elements of Matrix of B: \ n”);
for( i=0; i<r1; i++)
{
for( j=0; j<c1; j++)
scanf(“ %d ”, &b[ i ][ j ]);
}
printf(“\n Matrix Addition \n”);
for( i=0; i<r1; i++)
{
for( j=0; j<c1; j++)
printf(“%d\t”, a[ i ][ j ] + b[ i ][ j ]);
printf (“ \n”);
}
printf(“n Matrix Subtraction \n”);
for( i=0; i<r1; i++)
{
for( j=0; j<c1; j++)
printf(“%d\t”, a[ i ][ j ] – b[ i ][ j ]);
printf(“\n”);
}
getch( );
}
Enter order of Matrix A & B up to 10 x 10: 3 3
Enter Elements of Matrix of A :
4 5 8 2 9 8 2 9 4
Enter Elements of Matrix of B :
1 3 5 0 5 4 6 7 2
Matrix Addition
5 8 13
2 14 12
8 16 6
Matrix Subtraction
3 2 3
2 4 4
-4 2 2