[C++]求解三元一次方程组
/** * author:johnny zen * date:2017-09-20 11:19 * function:Calculate Ternary system of equations * notice:时间仓促,仅仅实现功能,方便使用,代码质量不可参考!!! */ #include<iostream> using namespace std; template<class T> 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<class T> 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<double>(matrix); calc<double>(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 ] */
本文作者:
千千寰宇
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!
本文链接: https://www.cnblogs.com/johnnyzen
关于博文:评论和私信会在第一时间回复,或直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
日常交流:大数据与软件开发-QQ交流群: 774386015 【入群二维码】参见左下角。您的支持、鼓励是博主技术写作的重要动力!