📄 tsmatrix.cpp
字号:
#include "d:\cpp\head.h"
#define MAXSIZE 100
typedef int ElemType;
typedef struct{
int i,j;
ElemType e;
}Triple;
typedef struct{
Triple data[MAXSIZE+1];
int mu,nu,tu;
}TSMatrix;
Status CreateSMatrix(TSMatrix &M){
int i,j;
printf("Hang Number:");scanf("%d",&M.mu);
printf("Lie Number:");scanf("%d",&M.nu);
printf("! 0 Number:");scanf("%d",&M.tu);
for(i=1;i<=M.tu;i++){
printf("Input Hang,Lie,Number:");
scanf("%d,%d,%d",&M.data[i].i,&M.data[i].j,&M.data[i].e);
}//for
return OK;
}//CreateSMatrix
void PrintSMatrix(TSMatrix M){
int i,j,t=1;
int temp;
for(i=1;i<=M.mu;i++){
for(j=1;j<=M.nu;j++){
if(M.data[t].i==i&&M.data[t].j==j)
{temp=M.data[t].e;t++;}
else temp=0;
printf("%5d",temp);
}//for
printf("\n");
}//for
}//PrintSMatrix
Status TransposeSMatrix(TSMatrix M,TSMatrix &T){
int q,p,col;
T.mu=M.nu;T.nu=M.mu;T.tu=M.tu;
q=1;
for(col=1;col<=M.nu;++col)
for(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].e=M.data[p].e;
++q;
}//if
}//for
return OK;
}//TransposeSMatrix
void main(){
TSMatrix M,T;
CreateSMatrix(M);
printf("M de hang lie yuan su shu is:%5d%5d%5d\n",M.mu,M.nu,M.tu);
PrintSMatrix(M);
TransposeSMatrix(M,T);
printf("\n\n-------------\n\n");
printf("T de hang lie yuan su shu is:%5d%5d%5d\n",T.mu,T.nu,T.tu);
PrintSMatrix(T);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -