Function for 2D Array(Matrix)in C

 1. Program to input m*n matrix and display it using function


 #include<stdio.h>
#include<conio.h>
void input(int a[ ][20],int m,int n);
void display(int b[ ][20],int m,int n);

int i,j;

void main()
{
  int array[20][20],m,n;

       printf("Enter the size of rows and column\n");
       scanf("%d %d",&m,&n);
       printf("Enter data elements\n");
       input(array,m,n);
       printf("The elements in array are\n");
       display(array,m,n);
       getch();
       }
       void input(int a[ ][20],int m,int n)
       {
       for(i=0;i<m;i++)
       {
       for(j=0;j<n;j++)
       {
       scanf("%d",&a[ i ][ j ]);
       }
       }
       }
       void display(int b[ ][20],int m,int n)
       {
         for(i=0;i<m;i++)
       {
       for(j=0;j<n;j++)
       {
       printf("%d\t",b[ i ][ j ]);
       }
       printf("\n");
       }

         }
Output:
























2. Program for addition of m*n matrix

 #include<stdio.h>
#include<conio.h>
void input(int a[ ][20],int m,int n);
void display(int b[ ][20],int m,int n);
void addition(int c[ ][20],int d[ ][20],int m,int n);
int i,j;
void main()
{
  int a[20][20],b[20][20],m,n;

       printf("Enter the size of rows and column\n");
       scanf("%d %d",&m,&n);
       printf("Enter data elements for matrix A \n");
       input(a,m,n);
       printf("The elements in matrix A is\n");
       display(a,m,n);
        printf("Enter data elements for matrix B \n");
       input(b,m,n);
       printf("The elements in matrix B is\n");
       display(b,m,n);
       addition(a,b,m,n);

       getch();
       }
       void input(int a[ ][20],int m,int n)
       {
       for(i=0;i<m;i++)
       {
       for(j=0;j<n;j++)
       {
       scanf("%d",&a[ i ][ j ]);
       }
       }
       }
       void display(int b[ ][20],int m,int n)
       {
         for(i=0;i<m;i++)
       {
       for(j=0;j<n;j++)
       {
       printf("%d\t",b[ i ][ j ]);
       }
       printf("\n");
       }
         }
         void addition(int c[ ][20],int d[ ][20],int m,int n)
         {
         int add[20][20];
             for(i=0;i<m;i++)
           {
             for(j=0;j<n;j++)
                {
                add[ i ][ j ]=c[ i ][ j ]+d[ i ][ j ];
                }
                }
                printf("The addition is\n",add[ i ][ j ]);
                display(add,m,n);
                }
Output:




































3. Program for m*n matrix multiplication

 #include<stdio.h>
#include<conio.h>
void input(int a[ ][20],int r1,int c1);
void display(int b[ ][20],int r2,int c2);
void multiplication(int c[ ][20],int d[ ][20],int r1,int c1,int r2,int c2);
int i,j,k;
void main()
{
  int a[20][20],b[20][20],r1,c1,r2,c2;

       printf("Enter the size of rows and column\n");
       scanf("%d %d %d %d",&r1,&c1,&r2,&c2);
       printf("Enter data elements for matrix A \n");
       input(a,r1,c1);
       printf("The elements in matrix A is\n");
       display(a,r1,c1);
        printf("Enter data elements for matrix B \n");
       input(b,r2,c2);
       printf("The elements in matrix B is\n");
       display(b,r2,c2);
       multiplication(a,b,r1,c1,r2,c2);

       getch();
       }
        void input(int a[ ][20],int r1,int c1)
       {
       for(i=0;i<r1;i++)
       {
       for(j=0;j<c1;j++)
       {
       scanf("%d",&a[ i ][ j ]);
       }
       }
       }
       void display(int b[ ][20],int r2,int c2)

       {
         for(i=0;i<r2;i++)             :::r=row & c=column
       {
       for(j=0;j<c2;j++)
       {
       printf("%d\t",b[ i ][ j ]);
       }
       printf("\n");
       }
         }
        void multiplication(int c[ ][20],int d[ ][20],int r1,int c1,int r2,int c2)
         {
         int multi[20][20];
             for(i=0;i<r1;i++)
           {
             for(j=0;j<c2;j++)
                {
                multi[i][j]=0;
                for(k=0;k<r2;k++)
                {
                multi[ i ][ j ]+=c[ i ][ k ]*d[ j ][ k ];
                }
                }
             }
                printf("The multiplication is\n",multi[ i ][ j ]);
                display(multi,r1,c2);
                }
Output:













Comments