求稀疏矩阵的乘积,出点问题了,求救!解决加分一百!

来源:百度知道 编辑:UC知道 时间:2024/07/07 15:32:00
辛辛苦苦写出来的程序出了点问题,各位救命啊…好像进去不了乘法的函数啊…
#define MaxSize 100
#define ElemTpye int
#define MaxRow 10
#include "stdio.h"
typedef struct {
int i,j;
ElemTpye e;
}Triple;
typedef struct {
Triple data[MaxSize+1];
int mu,nu,tu;
}TSMatrix;
typedef struct{

Triple data[MaxSize+1];
int rpos[MaxRow+1];
int mu,nu,tu;
}RLSMatrix;

void InPutTSMatrix(RLSMatrix *T) {
int k;
printf("输入矩阵的行数:\n");scanf("%d",&T->mu);
printf("输入矩阵的列数:\n");scanf("%d",&T->nu);
printf("输入矩阵的非零元素个数:\n"); scanf("%d",&T->tu);
printf("请按三元组格式输入非零元素的值,如“1 2 3”:\n");
for(k=1;k<=T->tu;k++)
scanf("%d%d%d",&T->data[k].i,&T->data[k].j,&T->data[k].e);}

void OutPutSMatrix(TSMatrix *T) {
for(m=0;m<T->mu;m++){
for(n=0;n<T->

/*这样即可,注意变量的初始化,不初始化肯定容易出现内存出错,有问题的地方基本上都做了注释,基本变化不大,和你自己的程序对比下*/

#include "stdio.h"
#define MaxSize 100
#define ElemTpye int
#define MaxRow 10

typedef struct {
int i,j;
ElemTpye e;
}Triple;

typedef struct
{
Triple data[MaxSize+1];
int rpos[MaxRow+1];
int mu,nu,tu;
}RLSMatrix;
//TSMatrix根本没用到, 将定义删掉

void InPutTSMatrix(RLSMatrix *T)
{
int k;
printf("输入矩阵的行数:\n");
scanf("%d",&T->mu);
printf("输入矩阵的列数:\n");
scanf("%d",&T->nu);
printf("输入矩阵的非零元素个数:\n");
scanf("%d",&T->tu);
printf("请按三元组格式输入非零元素的值,如“1 2 3”:\n");
for(k=1;k<=T->tu;k++)
scanf("%d%d%d",&T->data[k].i,&T->data[k].j,&T->data[k].e);
}

void OutPutSMatrix(RLSMatrix *T) //形参类型不要搞错了
{
in