教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 外语考试 >

稀疏矩阵的加法

来源:网络收集 时间:2026-10-02
导读: 稀疏矩阵的加法 #include stdio.h #define m 6 #define n 8 #define max 50 // 稀疏矩阵存储在数组中 void creatematrix(int A[m][n],int B[50]) { int i,j,k=0; for(i=0;im;i++) for(j=0;jn;j++) if (A[i][j]!=0) { B[k]=i; k++; B[k]=j; k++; B[k]=A[i][j]

稀疏矩阵的加法
#include "stdio.h"
#define m 6
#define n 8
#define max 50
// 稀疏矩阵存储在数组中
void creatematrix(int A[m][n],int B[50])
{
int i,j,k=0;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
if (A[i][j]!=0)
{
B[k]=i;
k++;
B[k]=j;
k++;
B[k]=A[i][j];
k++;
}
B[k]=-1;
}
//两个稀疏矩阵存储到两个数组中后相加存储到另一个数组中
void matrixadd(int A[max],int B[max],int C[max])
{
int i=0,j=0,k=0;
while (A[i]!=-1&&B[j]!=-1)
{
if (A[i]==B[j])
{
if (A[i+1]==B[j+1])
{
C[k]=A[i];
C[k+1]=A[i+1];
C[k+2]=A[i+2]+B[j+2];
k=k+3;
i=i+3;
j=j+3;
}
else if (A[i+1]<B[j+1])
{
C[k]=A[i];
C[k+1]=A[i+1];
C[k+2]=A[i+2];
k=k+3;
i=i+3;
}
else
{
C[k]=B[j];
C[k+1]=B[j+1];
C[k+2]=B[j+2];
k=k+3;
j=j+3;
}
}
else if (A[i]<B[j])
{
C[k]=A[i];
C[k+1]=A[i+1];
C[k+2]=A[i+2];
k=k+3;
i=i+3;
}
else
{
C[k]=B[j];
C[k+1]=B[j+1];
C[k+2]=B[j+2];
k=k+3;
j=j+3;
}
}
if (A[i]==-1)
{
while (B[j]!=-1)
{
C[k]=B[j];
C[k+1]=B[j+1];
C[k+2]=B[j+2];
k=k+3;
j=j+3;
}
}
else
{
while(A[i]!=-1)
{
C[k]=A[i];
C[k+1]=A[i+1];
C[k+2]=A[i+2];
k=k+3;
i=i+3;
}

}
C[k]=-1;

}
//主函数
void main()
{
int E[m][n],F[m][n],A[max],B[max],C[max];
int i,j,k;
printf("输入稀疏矩阵E(%d,%d):\n",m,n);
for(i=0;i<m;i++) //输入稀疏矩阵E
{
for(j=0;j<n;j++)
{
scanf("%d",&E[i][j]);
}
}
printf("输入稀疏矩阵F(%d,%d):\n",m,n);
for(i=0;i<m;i++)//输入稀疏矩阵F
{
for(j=0;j<n;j++)
{
scanf("%d",&F[i][j]);
}
}
creatematrix(E,A);// E稀疏矩阵存储在数组A中
creatematrix(F,B);// F稀疏矩阵存储在数组B中
matrixadd(A,B,C);//相加
i=0;j=0;k=0;
printf("A数组内容如下:\n");
while(A[i]!=-1)
{
printf("%5d,%5d,%5d\n",A[i]+1,A[i+1]+1,A[i+2]);
i=i+3;
}
printf("B数组内容如下:\n");
while(B[j]!=-1)
{
printf("%5d,%5d,%5d\n",B[j]+
1,B[j+1]+1,B[j+2]);
j=j+3;
}
printf("C数组内容如下:\n");
while(C[k]!=-1)
{
printf("%5d,%5d,%5d\n",C[k]+1,C[k+1]+1,C[k+2]);

k=k+3;
}
}

稀疏矩阵的加法.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1691603.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150份
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)