版权声明:本文为博主原创文章,未经博主允许不得转载。 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]