矩阵加法 C语言问题Description若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个二维数组
来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/12 00:24:02
矩阵加法 C语言问题
Description
若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个二维数组表示稀疏矩阵中的相应元素是否是零元素,若稀疏矩阵中某元素是零元素,则该二维数组中对应位置的元素为0;否则为1.例如对稀疏矩阵A,可用一维数组V={10,20,30,40}和二维数组{1,0,1,0,0,1,1,0,0}表示该稀疏矩阵.实现使用上述稀疏矩阵存储结构的矩阵加运算X=X+Y.
数据输入:
第一行:矩阵X非零各元素的个数m.
第二行:矩阵X的m个非零元素的值.
第三行:矩阵X的二维0,1数组.
第四行:矩阵Y非零各元素的个数n.
第五行:矩阵Y的n个非零元素的值.
第六行:矩阵Y的二维0,1数组.
数据输出:
第一行:矩阵X与Y相加之后非零各元素的值.
第二行:矩阵XY相加之后的二维0,1数组.
Sample Input
2
1 2
0 1 0 1
2
3 4
1 0 1 0
Sample Output
3 1 4 2
1 1 1 1
Source
+
这是我的代码,问题写在注释中,就是e[m]的值一直为0,找不出问题,希望大家帮帮忙.第二个部分的代码还未做修改,大家可以不看.
#include
#include
int a[10000];//x
int b[10000];//y
char c[10000];//x
char d[10000];//y
int e[1000];//px
int f[1000]={0};//py
int sum[1000]={0};
int main()
{
int xn;
scanf("%d",&xn);
int i=0,j=0,le=0,w=0,k=0,m=0;//j为一维矩阵的长度
for(;i
Description
若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个二维数组表示稀疏矩阵中的相应元素是否是零元素,若稀疏矩阵中某元素是零元素,则该二维数组中对应位置的元素为0;否则为1.例如对稀疏矩阵A,可用一维数组V={10,20,30,40}和二维数组{1,0,1,0,0,1,1,0,0}表示该稀疏矩阵.实现使用上述稀疏矩阵存储结构的矩阵加运算X=X+Y.
数据输入:
第一行:矩阵X非零各元素的个数m.
第二行:矩阵X的m个非零元素的值.
第三行:矩阵X的二维0,1数组.
第四行:矩阵Y非零各元素的个数n.
第五行:矩阵Y的n个非零元素的值.
第六行:矩阵Y的二维0,1数组.
数据输出:
第一行:矩阵X与Y相加之后非零各元素的值.
第二行:矩阵XY相加之后的二维0,1数组.
Sample Input
2
1 2
0 1 0 1
2
3 4
1 0 1 0
Sample Output
3 1 4 2
1 1 1 1
Source
+
这是我的代码,问题写在注释中,就是e[m]的值一直为0,找不出问题,希望大家帮帮忙.第二个部分的代码还未做修改,大家可以不看.
#include
#include
int a[10000];//x
int b[10000];//y
char c[10000];//x
char d[10000];//y
int e[1000];//px
int f[1000]={0};//py
int sum[1000]={0};
int main()
{
int xn;
scanf("%d",&xn);
int i=0,j=0,le=0,w=0,k=0,m=0;//j为一维矩阵的长度
for(;i
下面的都是神马回答?人家问你是哪里错了 不是直接管你要能运行的代码
你的验证程序有问题
printf("e[%d] is %d c[]is %c a[%d] is %d m is %d k is %d\n",i,e[i],c[i],i,a[i],m,k);//显示细节
切忌 m!=i 所以你的验证程序会误导你 其实你前面的代码中e[m]是存放着数据的 并非你想的那样全是0
你的验证程序有问题
printf("e[%d] is %d c[]is %c a[%d] is %d m is %d k is %d\n",i,e[i],c[i],i,a[i],m,k);//显示细节
切忌 m!=i 所以你的验证程序会误导你 其实你前面的代码中e[m]是存放着数据的 并非你想的那样全是0
矩阵加法 C语言问题Description若将稀疏矩阵中的非零元素以行序为主序的顺序存于一个一维数组中,并用一个二维数组
C语言将二维数组A的行和列元素互换,存到二维数组B中
编一程序,把一个m行n列矩阵中的元素存放到一个二维数组中,并求出该数组的平均值,最大值和最小值
C语言二维数组生成矩阵问题
C语言 定义一个二维数组来存放一个矩阵,然后将矩阵转置输出
将一个矩阵行和列的元素交换,存到另一个二维数组中,并分别输出前后两个矩阵,同时求出两个矩阵中相同元素的数目是多少?(假设
C语言二维数组斜行矩阵
c语言 二维数组 设计一程序,输入一个五行五列的矩阵,计算并显示输出该矩阵四周那一圈元素的合计值
C语言,将一个二维数组a的行和列的元素互换,存到另一个二维数组b中.列如 123 1 4 2 5 456 3 6
如何用C语言编一个程序,输入一个二维数组,然后以一个矩阵的方式输出.
C语言:有一个3*4的矩阵,要求编写求这个二维数组中的最大的那个元素的值,以及所在的行号和列号.
c语言二维数组排序给定一个10*10的矩阵a,编一程序实现a[i1][j1]