计算线性代数四阶方程一般很麻烦,用代码解决就很容易
头文件
#pragma once
#include<iostream>
using namespace std;
class calculator
{
public:
void display();//显示界面
void close();//关闭程序
void four();//计算四阶行列式
int text01(int tempnumber[3][3]);
};
cpp文件
#include"线性代数计算器.h"
void calculator::display()
{
cout << "*******************线性代数**********************" << endl;
cout << "*****************0.关闭程序**********************" << endl;
cout << "**************1.四阶行列式计算*******************" << endl;
}
void calculator::close()
{
cout << "欢迎下次使用" << endl;
exit(0);
}
void calculator::four()
{
int number[4][4];
for (int i = 0; i < 4; i++)
{
cout << "请输入第" << i + 1 << "行数:" << endl;
cin >> number[i][0] >> number[i][1] >> number[i][2] >> number[i][3];
}
int tempnumber[3][3];
int total[4];
//1
for (int i = 0; i < 3; i++)
{
for (int k = 0; k < 3; k++)
{
tempnumber[i][k] = number[i + 1][k + 1];
}
}
int temp1 = text01(tempnumber);
total[0] = temp1 * number[0][0];
//2
for (int i = 0; i < 3; i++)
{
for (int k = 0; k < 3; k++)
{
int g = k + 1;
if (k == 0)
{
g = k;
}
tempnumber[i][k] = number[i + 1][g];
}
}
int temp2 = text01(tempnumber);
total[1] = -temp2 * number[0][1];
//3
for (int i = 0; i < 3; i++)
{
for (int k = 0; k < 3; k++)
{
int g = k;
if (k == 2)
{
g = k + 1;
}
tempnumber[i][k] = number[i + 1][g];
}
}
int temp3 = text01(tempnumber);
total[2] = temp3 * number[0][2];
//4
for (int i = 0; i < 3; i++)
{
for (int k = 0; k < 3; k++)
{
tempnumber[i][k] = number[i + 1][k];
}
}
int temp4 = text01(tempnumber);
total[3] = -temp4 * number[0][3];
int total2 = total[0] + total[1] + total[2] + total[3];
cout << "结果为:" << total2 << endl;
}
int calculator::text01(int tempnumber[3][3])
{
int total2[3];
total2[0] = tempnumber[0][0] * (tempnumber[1][1] * tempnumber[2][2] - tempnumber[1][2] * tempnumber[2][1]);
total2[1] = -tempnumber[0][1] * (tempnumber[1][0] * tempnumber[2][2] - tempnumber[1][2] * tempnumber[2][0]);
total2[2] = tempnumber[0][2] * (tempnumber[1][0] * tempnumber[2][1] - tempnumber[1][1] * tempnumber[2][0]);
return (total2[0] + total2[1] + total2[2]);
}
主函数文件
#include"线性代数计算器.h"
int main()
{
calculator cal;
int select = 0;
while (true)
{
cal.display();
cout << "请输入数字进行操作:";
cin >> select;
switch (select)
{
case 0:
cal.close();
break;
case 1:
cal.four();
break;
}
system("pause");
system("cls");
}
return 0;
}
效果