作业帮 > 综合 > 作业

c语言求逆矩阵给定的二阶矩阵(2*2),求其逆矩阵输入大小为2*2的距阵输出一个大小为2*2的距阵,矩阵每一行相邻的的两

来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/06/05 10:32:40
c语言求逆矩阵
给定的二阶矩阵(2*2),求其逆矩阵
输入大小为2*2的距阵
输出一个大小为2*2的距阵,矩阵每一行相邻的的两个数字之间由一个空格隔开
2 0
1 1
输出
0.500000 0.000000
-0.500000 1.000000
c语言求逆矩阵给定的二阶矩阵(2*2),求其逆矩阵输入大小为2*2的距阵输出一个大小为2*2的距阵,矩阵每一行相邻的的两
#include
#include
#include
#include
using namespace std;
double det(int N,vector A)
{
double D=0;
vector B((N-1)*(N-1));
if(N==2)
return A[0]*A[3]-A[1]*A[2];
for(int i=0;i
再问: 运行没有任何问题 只不过 答案有点问题 我把实验指导书上的数据输入进去 却不是正确答案 正确答案是 0.500000 0.000000 -0.500000 1.000000 不好意思 哈 不过十分感谢
再答: 哦,忘了2阶比较特殊,要特别处理一下,我只测试了3、4阶的,呵呵 adjoint改为 vector adjoint(int N,vector A) { vector B(N*N); vector M((N-1)*(N-1)); if(N==2) { B[0]=A[3]; B[3]=A[0]; B[1]=-A[1]; B[2]=-A[2]; return B; } for(int p=0;p