请用C语言修改下列代码,用三元组实现矩阵转置

#defineMAXSIZE200//矩阵中最大非零元的个数typedefstruct{inti,j;//元素行列号,从1开始inte;//非零元}Triple;//三元... #define MAXSIZE 200 //矩阵中最大非零元的个数
typedef struct {
int i,j;//元素行列号,从1开始
int e;//非零元
}Triple; //三元组定义

typedef struct {
Triple data[MAXSIZE+1];//三元组表,以行为主序存入一维向量 data[ ]中
int mu; //矩阵总行数
int nu; //矩阵总列数
int tu; //矩阵中非零元素总个数
}TSMatrix;

void TransposeSMatrix()
{
int i;
char end;
TSMatrix M;
TSMatrix T;
printf("创建矩阵(行、列均小于30)\n按e结束循环\n\n");
M.tu=0;
for(i=1;i<=30;i++)
{
printf("矩阵的行数:");
scanf("%d",&M.mu);
printf("矩阵的列数:");
scanf("%d",&M.nu);
printf("矩阵的非零元:\n");
scanf("%d",&M.data[i]);
M.tu++;
end = getch();
if (end=='e') break;
}

printf("%d",&M.tu);

T.mu=M.nu; T.nu=M.mu; T.tu=M.tu;
if (T.tu) {
int q=1;
for(int col=1; col<=M.nu; col++)
{
for(int p=1; p<=M.tu; p++)
{if (M.data[p].j==col)
{T.data[q].i=M.data[p].j; T.data[q].j=M.data[p].i;
T.data[q]=M.data[p]; q++; }
}
}
}

}
展开
 我来答
匿名用户
2016-06-25
展开全部
/*转置前:12345678910111213141516转置后:15913261014371115481216*/#include#defineN4voidTranspose(inta[][N]){inti,j,t;for(i=0;i
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式