Two Dimensional Array

n-number of values-ஐ variable-லில் row wise and column wise store செய்வது two dimensional array.

Syntax

int a[3][4]; // declaration i.e 3 rows and 4 columns in each row
int a[3][4]={
        {1,2,3,4},
        {4,5,6,4},
        {7,8,9,7}
    }; // declaration with initialization
    
 

How to print two dimensional array - Example

#include<stio.h>
#include<conio.h>
int main(){
	int a[3][4]={ // declaration with initialization
        {1,2,3,4},
        {4,5,6,7},
        {8,9,0,1}
    };
    // first row
    printf(" %d ",a[0][0]);
    printf(" %d ",a[0][1]);
    printf(" %d ",a[0][2]);
    printf(" %d ",a[0][3]);
    printf("\n");
    // 2nd row
    printf(" %d ",a[1][0]);
    printf(" %d ",a[1][1]);
    printf(" %d ",a[1][2]);
    printf(" %d ",a[1][3]);
    printf("\n");
    // 3rd row
    printf(" %d ",a[2][0]);
    printf(" %d ",a[2][1]);
    printf(" %d ",a[2][2]);
    printf(" %d ",a[2][3]);
    printf("\n");
return 0;    
}

Output:

1 2 3 4
4 5 6 7
8 9 0 1

ஒரு two dimensional array-வில் உள்ள values-ஐ, index பயன்படுத்தி தனி தனி printf()-ல் print செய்வது மிக கடினமான வேலை. example ஒரு array-வில் 5 rows and 5 columns values உள்ளது என்று எடுத்துகொள்வோம். அப்படியானால் அந்த values-ஐ print செய்ய 25 printf() தேவைபடுகிறது. இது programmer-ன் வேலையையும் sorce-ஐயும் அதிகமாக்குகிறது. ஆகவே இதை எளியமுறையில் print செய்ய nested for() loop பயன்படுத்தபடுகிறது.

Print array values using nested for loop

Qn: Print all array value using nested for loop

#include<stio.h>
#include<conio.h>
int main(){
    int i,j,rows,cols;
    int a[3][4]={
        {1,2,3,4},
        {4,5,6,4},
        {7,8,9,7}
    };
    // find number of rows in array
    rows=sizeof(a)/sizeof(a[0]);
    
    // find number of columns in each row
    cols=sizeof(a[0])/sizeof(a[0][0]);

    // loop for rows
    for(i=0;i<rows;i++){
    
        // loop for columns of each rows
        for(j=0;j<cols;j++){
            printf(" %d ",a[i][j]);
        }
        
        // new line after one row complete
        printf("\n");
    }
    
return 0; 
}

Output:

1 2 3 4
4 5 6 7
8 9 0 1

Qn: Write the program for addition of two matrix

Note: matrix addition செய்யவேண்டும் எனில் number of rows மற்றும் number of columns நிச்சயம் சமமாக இருக்கவேண்டும்.
#include<stio.h>
#include<conio.h>
int main(){
    int i,j;
    int a[4][4]={
        {10,20,30,40},
        {14,5,6,5},
        {7,8,9,6},
        {10,1,2,30}
    };
    int b[4][4]={
        {1,2,3,4},
        {4,6,6,10},
        {9,13,30,6},
        {0,10,20,3}
    };
    int c[4][4];
    // find number of rows in array
    int rows=sizeof(a)/sizeof(a[0]);
    // find number of columns in each row
    int cols=sizeof(a[0])/sizeof(a[0][0]);

    // loop for rows
    for(i=0;i<rows;i++){
        // loop for columns of each rows
        for(j=0;j<cols;j++){
          // adding two matrix and assign into c matrix
          c[i][j]=a[i][j]+b[i][j];
          printf(" %d",c[i][j]);
        }
        // new line after one row complete
        printf("\n");
    }
return 0; 
}

Output:

11 22 33 44
18 11 12 15
16 21 39 12
10 11 22 33

Comments