#include<iostream>
#include<algorithm>
using namespace std;
#define MaxSize 12500
#define Col 30
#define Row 30
typedef bool Status;
bool t[1250][1250];//标记,避免重复输入
typedef struct{
//稀疏矩阵三元表定义
int i, j;
int e;
}Triple;
typedef struct{
//记录矩阵
Triple data[MaxSize + 1];
int row, col, Size;
}TSMatrix;
void CreatMatrix(TSMatrix *M){
int m, n, e;
cout<<"请输入矩阵的行数、列数和非零元个数:";
cin>>m>>n>>e;
while(m * n < e){
cout<<"输入错误,非零元素个数要小于等于行数乘列数,请从新输入:";
cin>>m>>n>>e;
}
cout<<"请继续输入三元组信息:";
M->Size = e;
M->col = m;
M->row = n;
int y1 = 0, y2 = 0;
for(int i = 1; i <= e; i ++ ){
int a, b, c;
cin>>a>>b>>c;
if(a > y1) y2 = 0;//如果行数递增了,就将标记列值y2记为0
while(t[a][b] == 1 || y1 > a || y2 > b){
if(t[a][b] == 1) cout<<"输入错误,输入的下标重复,请重新输入!";
else if(y1 > a) cout<<"输入错误,下标输入时要递增输入,请重新输入:";
else
数据结构—矩阵的转置、快速转置
最新推荐文章于 2022-12-01 21:58:43 发布