稀疏矩阵A和B,其行数和列数对应相等,编写一个程序,计算A和B之和,假设稀疏矩阵采用三元组表示

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/KevinWu93/article/details/41060775

如题,矩阵A,B支持自定义行列数,自行输入

#include 
#include 

typedef struct
{
    int data[50][50];
    int m,n;
} matrix;
typedef int spmatrix[100][3];

void init(matrix *A,matrix *B)
{
    int i,j;
    printf("请输入稀疏矩阵A和B的行数 列数:");
    scanf("%d %d",&A->m,&A->n);
    B->m=A->m;
    B->n=A->n;
    for(i=0; im; i++)
    {
        printf("请输入A矩阵第%d行元素\n",i+1);
        for(j=0; jn; j++)
        {
            scanf("%d",&A->data[i][j]);
        }
    }
    for(i=0; im; i++)
    {
        printf("请输入B矩阵第%d行元素\n",i+1);
        for(j=0; jn; j++)
        {
            scanf("%d",&B->data[i][j]);
        }
    }
}

void compressmatrix(matrix A,spmatrix C)
{
    int i,j,k=1;
    for(i=0; iD[j][1])//同上,第二种情况
        {
            CD[m][2]=D[j][2];
            CD[m][0]=D[j][0];
            CD[m][1]=D[j][1];
            k++;
            j++;
        }
        else if(C[i][0]

猜你喜欢

转载自blog.csdn.net/KevinWu93/article/details/41060775