📄 transmatrix.c
字号:
#include<stdio.h>
#include<stdlib.h>
#define MAXSIZE 125
typedef int ElemType ;
typedef struct{
int i,j;
ElemType e;
}Tripe;
typedef struct TSMatrix{
Tripe data[MAXSIZE+1];
int mu,nu,tu;
}TSMatrix;
void CreateTSMatrix(TSMatrix *M){
int i;
printf("\nplease input the rolval mu:=");
scanf("%d",&M->mu);
printf("\nplease input the colval nu:=");
scanf("%d",&M->nu);
printf("\nplease input the !zeroval tu:=");
scanf("%d",&M->tu);
for(i=1;i<=M->tu;){
printf("i:=%d\n",i);
printf("\nrow:=");
scanf("%d",&M->data[i].i);
printf("\ncol:=");
scanf("%d",&M->data[i].j);
printf("\nval:=");
scanf("%d",&M->data[i].e);
if(M->data[i].e){
if(M->data[i].i>M->mu||M->data[i].j>M->nu)printf("incrroct input\n");
else i++;
}
else printf("incrroct input\n");
}
}
void Out(TSMatrix *M){
int i;
printf("TSMatrix mu:=%-5dnu:=%-5dtu:=%-5d\n",M->mu,M->nu,M->tu);
for(i=1;i<=M->tu;i++)
printf("\n %-5d %-5d %-5d",M->data[i].i,M->data[i].j,M->data[i].e);
}
transpose(TSMatrix *M,TSMatrix *T)
{int q,p,col;
T->mu=M->nu;T->nu=M->mu;T->tu=M->tu;
if(T->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;
}
}
}
void main(){
TSMatrix Ma,T;
CreateTSMatrix(&Ma);
Out(&Ma);
transpose(&Ma,&T);
Out(&T);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -