📄 矩阵转置.txt
字号:
// 求矩阵转置
#include<stdio.h>
const m=10,n=10,MAXSIZE=20;
struct Triple
{int i,j,e};
struct TSMatrix
{Triple data[MAXSIZE];
int mu,nu,tu;};
int num[n],cpot[n];
TSMatrix M,T;
void creat(TSMatrix &M)
{int i,j,p,v;
Triple ve;
Printf("input i,j,v:\n");
scanf("%d,%d,%d",&i,&j,&v);
p=0;tu=0;
while(v!=0)
{p++;
ve.i=i;
ve.j=j;
ve.v=v;
M.data[p]=ve
printf("%d,%d,%d\n",M.data[p].i
M.data[p].j,M.data[p].v);
scanf("%d,%d,%d",&i,&j,&v);
printf("the total M.tu is M.tu=\n",M.tu);}
void tran(TAMatrixM,TSMatrix&T)
{int col,t,p,q;
T.mu=M.nu;T.nu=M.mu;T.tu=M.tu;
if (T.tu)
{for(col=1;col<=M.nu;++col) num[col]=0;
for(t=1;t<=M.tu;++t) ++num[M.data[t].j];
copt[1]=1;
for(col=2;col<=M.nu;++col) copt[col]=copt[col-1]+num[col-1];
for(p=1;p<=M.tu;++p){
col=M.data[p].j; q=copt[col];
T.data[q].i=M.data[p].j;T.data[q].j=M.data[p].i;
T.data[q].v=M.data[p].v;++copt[col];
}
}
return OK;
}
for(t=1;t<=M.tu;++t)
printf("%d,%d,%d\n",T.data[t].i,
T.data[t].j,T.data[t].v);}
void main()
{printf(if you want to end then input\n");
creat(M);
tran(M,T);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -