#include<stdio.h>

void add_matrix(int *,int *,int *,int,int);

void print_matrix(int *,int,int);

void main(void)

{

 int A[3][2]={{1,5},{3,7},{7,13}};

 int B[3][2]={{2,6},{4,12},{8,10}};

 int C[2][2]={{1,2},{3,4}};

 int D[2][2]={{5,6},{7,8}};

 int E[3][2],F[2][2];

 

 add_matrix(A[0],B[0],E[0],3,2);

 add_matrix(C[0],D[0],F[0],2,2);

 

 printf("E=A+B:\n");

 print_matrix(E[0],3,2);

 

 printf("F=C+D:\n");

 print_matrix(F[0],2,2);

}

 

void add_matrix(int *X,int *Y,int *Z,int m,int n)

{

 int i,j;

 

 for(i=0;i<m;++i){

    for(j=0;j<n;++j){

        *(Z+n*i+j)=*(X+n*i+j)+*(Y+n*i+j);

    }

 }

}

 

void print_matrix(int *X,int m, int n)

{

 int i,j;

 

 for(i=0;i<m;++i){

    for(j=0;j<n;++j){

       printf(" %2d",*(X+n*i+j));

    }

    printf("\n");

 }

}