本文編程學習網主要向大家介紹了c語言怎么解三元一次方程,通過具體的內容向大家展示,希望對大家學習C/C++知識點有所幫助。
/**
* author:johnny zen* date:2017-09-20 11:19
* function:Calculate Ternary system of equations
* notice:時間倉促,僅僅實現功能,方便使用,代碼質量不可參考!!!
*/
#include
using namespace std;
template
void input(T matrix[4][5]){
cout<<"please input matrix element‘s data"<<endl;
for(int i = 1;i<4;i++){
for(int j=1;j<5;j++){
cin>>matrix[i][j];
}
}
cout<<"input ok";
}
template
void calc(T matrix[4][5]){
T base_D = matrix[1][1]*matrix[2][2]*matrix[3][3] + matrix[2][1]*matrix[3][2]*matrix[1][3] + matrix[3][1]*matrix[1][2]*matrix[2][3];//計算行列式
base_D = base_D-(matrix[1][3]*matrix[2][2]*matrix[3][1] + matrix[1][1]*matrix[2][3]*matrix[3][2] + matrix[1][2]*matrix[2][1]*matrix[3][3]);
if(base_D != 0){
T x_D = matrix[1][4]*matrix[2][2]*matrix[3][3] + matrix[2][4]*matrix[3][2]*matrix[1][3] + matrix[3][4]*matrix[1][2]*matrix[2][3];
x_D = x_D-(matrix[1][3]*matrix[2][2]*matrix[3][4] + matrix[1][4]*matrix[2][3]*matrix[3][2] + matrix[1][2]*matrix[2][4]*matrix[3][3]);
T y_D = matrix[1][1]*matrix[2][4]*matrix[3][3] + matrix[2][1]*matrix[3][4]*matrix[1][3] + matrix[3][1]*matrix[1][4]*matrix[2][3];
y_D = y_D-(matrix[1][3]*matrix[2][4]*matrix[3][1] + matrix[1][1]*matrix[2][3]*matrix[3][4] + matrix[1][4]*matrix[2][1]*matrix[3][3]);
T z_D = matrix[1][1]*matrix[2][2]*matrix[3][4] + matrix[2][1]*matrix[3][2]*matrix[1][4] + matrix[3][1]*matrix[1][2]*matrix[2][4];
z_D = z_D-(matrix[1][4]*matrix[2][2]*matrix[3][1] + matrix[1][1]*matrix[2][4]*matrix[3][2] + matrix[1][2]*matrix[2][1]*matrix[3][4]);
T x = x_D/base_D;
T y = y_D/base_D;
T z = z_D/base_D;
cout<<"[ x:"<<x<<"; y:"<<y<<"; z:"<<z<<" ]"<<endl;
}else{
cout<<"【無解】";
// return DBL_MIN;
}
}
int main(){
double matrix[4][5] ; //三元一次方程組
input(matrix);
calc(matrix);
system("pause");
return 0;
}
/*demo
2x-y+z=10;
3x+2y-z=16;
x+6y-z=28;
2 -1 1 10
3 2 -1 16
1 6 -1 28
output:input ok[ x:4.18182; y:5.09091; z:6.72727 ]
*/
以上就是“c語言怎么解三元一次方程?”的詳細內容,想要了解更多C語言教程歡迎持續關注編程學習網
掃碼二維碼 獲取免費視頻學習資料
- 本文固定鏈接: http://www.wangchenghua.com/post/10555/
- 轉載請注明:轉載必須在正文中標注并保留原文鏈接
- 掃碼: 掃上方二維碼獲取免費視頻資料
查 看2022高級編程視頻教程免費獲取