#include<stdio、h〉#include<conio、h>#defineMAXSIZE12500#defineOK1#defineERROR 0#defineOVERFLOW—2typedef int Status;typedef intElemType;typedefstruct{ int i,j; inte;}Triple;typedefstruct{ Tripledata[MAXSIZE+1];intmu,nu,tu;}TSMatrix;StatusCreateSMatrix(TSMatrix&M){ int w,m,n;while(1) {printf("请输入行:"); scanf(”%d”,&M、mu); if(M、mu>0) {ﻩ break; }if(M、mu〈=0) { printf("行不能为0\n");ﻩ continue;} } while(1) { printf("请输入列:”); scanf("%d",&M、nu); if(M、nu>0){ﻩ break;}if(M、nu<=0){ﻩ printf("列不能为0\n");ﻩcontinue;}}printf(”请输入非零元素:"); scanf(”%d",&M、tu); for(w=1;w<=M、tu;w++){ﻩprintf("请输入元素所在行,列,元素值:\n"); scanf("%d%d %d",&M、data[w]、i,&M、data[w]、j,&M、data[w]、e); if(M、data[w]、i<=0||M、data[w]、j<=0||M、data[w]、i>M、mu||M、data[w]、j〉M、nu)ﻩ{ ﻩ printf("输入错误1!\n"); w--;ﻩ}ﻩfor(m=1;m〈=w;m++)ﻩ{ ﻩfor(n=0;n〈m;n++) {ﻩﻩ if(M、data[m]、i<M、data[n]、i) ﻩ {ﻩﻩ printf("输入错误2!\n”); w--;ﻩﻩ break; ﻩ ﻩ} ﻩﻩelseif(M、data[m]、i==M、data[n]、i&&M、data[m]、j〈M、data[n]、j) {ﻩﻩﻩ printf("输入错误3!\n”);ﻩﻩ w—-; ﻩﻩﻩﻩ break; ﻩﻩ}ﻩ ﻩ else if(M、data[m]、i==M、data[n]、i&&M、data[m]、j==M、data[n]、j)ﻩﻩ{ﻩﻩ printf(”输入重复!\n"); w—-;ﻩﻩ break;ﻩ ﻩ} ﻩﻩ}ﻩ}} returnOK;}Status ShowSMatrix(TSMatrixM){ﻩinti,j,t=1; printf("矩阵为:\n”); 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)ﻩ{ ﻩ printf("%d\t”,M、data[t]、e);ﻩﻩﻩ t++; ﻩ } ﻩelseprintf("0\t");ﻩﻩ}ﻩﻩprintf(”\n");ﻩ}return OK;}StatusTransposeSMatrix(TSMatrixM,TSMatrix&T){T、mu=M、nu;T、nu=M、mu;T、tu
数据结构 矩阵的转置 来自淘豆网www.taodocs.com转载请标明出处.