⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 transmatrix.c

📁 数据结构的一些头文件和例子包括了线性表
💻 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 + -