由于测试数目太少,会有各种bug,不一定每个矩阵都能计算出来,以后我会陆续优化,各位见谅
//mat.cpp 文件二
#include"mat.h"
#include<iostream>
using namespace std;
//测试
void Mat::asd(){
double a1[4][5] = { { 2, -1, -1, 1, 2 }, { 1, 1, -2, 1, 4 },//
{ 4, -6, 2, -2, 4 }, { 3, 6, -9, 7, 9 } };//
for (int i = 0; i < 4; i++){//
for (int j = 0; j < 4; j++){
Mat::mat[i][j]= a1[i][j];//测试,删掉
}}}//删掉
//输入
void Mat::assignment() {
for (int i = 0; i < 4; i++){
for (int j = 0; j < 4; j++){
cin >> mat[i][j];
}
}
}
//输出
void Mat::show(){
for (int i = 0; i < 4; i++){
for (int j = 0; j < 4; j++){
cout << mat[i][j]<<" ";
}
cout << endl;
}
}
//比较 i:max j:small
int Mat::compare(int i,int j,int k){
if (mat[i][k]>mat[j][k]){
Mat::swap(i,j,k);
}
if (mat[i][k] == 0){
Mat::swap1(i, j, k);
}
return 0;
}
//交换升序
int Mat::swap(int i, int j,int k){
double save[5];
for (k; k < 4; k++){
save[k] = mat[i][k];
mat[i][k] = mat[j][k];
mat[j][k] = save[k