1. 程式人生 > >資料結構中的矩陣相加

資料結構中的矩陣相加

/*兩個A和B陣列的相加 然後儲存到另一個數組C中去。*/
#include<stdio.h>
#define N 5
void Show_Matrix(int []);
void Add_Matrix(int [],int [],int []);
//void Mul_Matrix(int [],int [],int []);
void main()
{
    int a[N*(N+1)/2]={1,5,0,1,8,9,3,0,2,5,7,0,6,1,3};
    int b[N*(N+1)/2]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
    int c[N*(N+1)/2];
    //void Show_Matrix(a);
    Add_Matrix(a,b,c);
    //    Mul_Matrix(a,b,c);
    printf("陣列a:\n");
        Show_Matrix(a);
        printf("\n");
            printf("陣列b:\n");
            Show_Matrix(b);
            printf("\n");
                printf("陣列c:\n");
        Show_Matrix(c);
        printf("\n");
}
/*void Mul_Matrix(int [],int [],int [])
{

}*/
void Add_Matrix(int a[],int b[],int c[])
{
    int k;
    for(k=0;k<N*(N+1)/2;k++)
        c[k]=a[k]+b[k];

}
void Show_Matrix(int a[])
{
    int i,j;
    int k;
    for(i=0;i<N;i++)
    {
        for(j=0;j<N;j++)
        {
            if(i>=j)
                k=i*(i+1)/2+j;
            else
                k=j*(j+1)/2+i;
            printf("%4d",a[k]);
        }
        printf("\n");
    }

}