Tuesday, 11 February 2014

C Code for easy matrix multiplication

#include<stdio.h>
//code by rajendra
    void readmat(int row,int col,int mat[][10]){
        int a,b;
        for(a=0;a<row;a++)
            for(b=0;b<col;b++)
                scanf("%d",&mat[a][b]);
       
    }
    void printmat(int row,int col,int mat[][10]){
        int a,b;
        for(a=0;a<row;a++)
            for(b=0;b<col;b++)
                scanf("%d",&mat[a][b]);
            printf("\n");
       
    }
    void multiply(int row1,int col1,int col2,int mat1[][10],int mat2[][10],int mat3[][10]){
        int a,b,c;
        for(a=0;a<row1;a++)
            for(b=0;b<col2;b++){
            int val=0;
                for(c=0;c<col1;c++)
                    val+=mat1[a][c]*mat2[c][b];
                    mat3[a][b]=val;
                   
           
        }
    }
main(){
    int r1,c1,r2,c2,m1[10][10],m2[10][10],m3[10][10];
    printf("Enter the order of first matrix");
    scanf("%d%d",&r1,&c1);
    printf("the first matrix\n");
    readmat(r1,c1,m1);
    printf("Enter the order of second matrix");
    scanf("%d%d",&r2,&c2);
    printf("the first matrix\n");
    readmat(r2,c2,m2);
   
    if(c1!=r2)
        printf("multiplicatio is not allowed\n");
    else
        {
            printf("multiplication of two matrix is= \n");
            multiply(r1,c1,c2,m1,m2,m3);
            printmat(r1,c2,m3);
        }
    }

No comments:

Post a Comment