![5e42f8f7ec2f234b0b26c1256f1e56ce.png](https://img-blog.csdnimg.cn/img_convert/5e42f8f7ec2f234b0b26c1256f1e56ce.png)
实现思路:
1:首先输入预想要进行求逆的矩阵
2:求行列式,判断矩阵能否求逆
3:判断是否需要进一步求余子式
4:求出矩阵的余子式,对余子式进行转置,并且除以行列式得到
#include<iomanip>
#include <iostream>
#include <cstring>
#include <string>
#include <cstringt.h>
#include<vector>
#include <fstream>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
using namespace std;
#define MAX 100
/*
实现思路:
1:首先输入预想要进行求逆的矩阵
2:求行列式,判断矩阵能否求逆
3:判断是否需要进一步求余子式
4:求出矩阵的余子式,对余子式进行转置,并且除以行列式得到
*/
//----------------------------------------------------------solved
//read matrix : cin>> in c++ , scanf() in c
int scanf(float a[MAX][MAX]) {
int i, j, n;
cout << "n Enter Length Of Matrix N*N : ";
cin >> n;
cout << "n--------------------------n";
for (i = 0; i < n; i++)
for (j = 0; j < n; j++) {
cout <<setw(8) << " Matrix[" << i + 1 << "][" << j + 1 << "] : ";
cin >> a[i][j];
}
cout << "n----------------------------------------------------n";
return n;
}
//-----------------------------------------------------solved
// show matrix : cout<< in c++ , printf() in c
void printf(float a[MAX][MAX], int n, int show) {
int i, j;
if (show == 1)
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << " " << setw(8) << a[i][j] << " t";
cout << "n";
}
else if (show == 2) {
cout << "nn The Inverse Of Matrix Is : nn";
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++)
cout << " " << setw(8) << a[i][j] << " t";
cout << "n";
}
}
}
//---------------------------------------------------solved
// calculate minor of matrix OR build new matrix : k-had = minor//计算矩阵的余子式或建立新矩阵:k-had =余子式
void minor(float b[MAX][MAX], float a[MAX][MAX], int i, int n) {
//0<=i<n
int j, l, h = 0, k = 0;
for (l = 1; l < n; l++)
for (j = 0; j < n; j++) {
//此处不用考虑会不会取到第i行,因为l=i+1,自然地避开了取第i行的风险
if (j == i)//假设进行到第i列
continue;//不加入余子式中
b[h][k] = a[l][j];//如果不是第i列,余子式先从第一行开始填满
k++; //如在求a[0][0]的余子式,则不考虑第0列的
if (k == (n - 1)) {
//当第一列填满时,h++,进行下一行的填充
h++;
k = 0;//k回到第一列,准备继续向后填充
}
}
}// end function
//---------------------------------------------------solved
// cal