【C++ 程序】 解线性方程组(Cramer法则)
求解结果为小数。结果为分数和小数兼容的程序详见我的博客 【C++ 程序】 解线性方程组(Cramer法则)(分数形式结果)。
程序
Source.cpp
#include <iostream>
#include "Det.h"
using namespace std;int main()
{int num;unsigned m = 0;deque<deque<double>> mat;deque<deque<deque<double>>> D;// instructioncout << "Please input like this:\n"<< "a_11 * x_1 + a_12 * x_2 + ... + a_1n * x_n = b_1\n"<< "a_21 * x_1 + a_22 * x_2 + ... + a_2n * x_n = b_2\n"<< "...\n"<< "a_n1 * x_1 + a_n2 * x_2 + ... + a_nn * x_n = b_n"<< "\n" << endl;// inputwhile (1){deque<double> row;while (cin >> num){row.push_back(num);if (getchar() == '\n') break;}mat.push_back(row);m = (row.size() > m) ? row.size() : m;if (mat.size() >= m - 1) break;}// calculate & printfor (unsigned i = 0; i < m; i++){deque<deque<double>> temp = mat; // D[m - 1][m]for (unsigned j = 0; j != m - 1; j++){if (i) temp[j][i - 1] = mat[j][m - 1];temp[j].pop_back();}D.push_back(temp);}double D0 = det_is(D[0]);if (D0 != 0){cout << endl;for (unsigned i = 1; i < m; i++){cout << "x_" << i << " = " << det_is(D[i]) / D0 << endl;}}else cout << "\nNo finite solution!" << endl;return 0;
}
Det.h
见我的博客 【C++ 程序】 行列式。
输出示例
分析
- 一开始老是错:
查了半天发现错误在头文件中:
一开始一直没加sign = 1
的语句,造成了全局变量sign一直处于一个错误的位置。
启示:每一次调用头文件函数时,并不是重新运行的!运行一次造成的影响会带给下一次运行。
- 这里面运用到行列式的求法。
- (其他分析以后继续)
ALL RIGHTS RESERVED © 2020 Teddy van Jerry
欢迎转载,转载请注明出处。
See also
Teddy van Jerry 的导航页
【C++ 程序】 解线性方程组(Cramer法则)相关推荐
- 牛顿迭代法例题 matlab,牛顿迭代法-matlab程序(解线性方程组)
牛顿迭代法 matlab程序(解线性方程组) 作者:佚名来源:转载发布时间:2009-3-7 16:55:53 减小字体 增大字体 1.功能 本程序采用牛顿法,求实系数高次代数方程 f(x)=a0xn ...
- 牛顿迭代法解线性方程matlab程序,牛顿迭代法matlab程序(解线性方程组)
<牛顿迭代法matlab程序(解线性方程组)>由会员分享,可在线阅读,更多相关<牛顿迭代法matlab程序(解线性方程组)(4页珍藏版)>请在金锄头文库上搜索. 1.牛顿迭代法 ...
- 计算方法LU分解c语言程序解线性方程组,LU分解求线性方程组的解
LU分解是矩阵分解的一种,可以将一个矩阵分解为一个上三角矩阵和一个下三角矩阵的乘积. LU分解可以用来求逆矩阵,解线性方程组等.本文将介绍LU分解求线性方程组的解. 1.定义 如果A是一个方阵,A的L ...
- LA@线性方程组解的结构@Cramer法则@高斯消元法
文章目录 LA@线性方程组解的结构@Cramer法则@高斯消元法 preface 矩阵方程和线性方程组 Cramer's Rule@克莱姆法则 new 齐次化推论 证明Cramer's Rule 高斯 ...
- Java *3.3(代数:求解2 x 2线性方程)可以使用编程练习题1.13中给出的Cramer规划解线性方程组:
编写程序,提示用户输入a,b,c,d,e和粉,然后显示结果.如果ad - bc = 0,报告信息为"The equation no solution"(方程式无解) Enter a ...
- 高斯消去法解线性方程组的fortran程序实现
高斯消去法解方程组的fortran程序实现 许多实际问题的解决,常常要化为求解线性代数方程组:例如,用最小二乘法处理测量结果和用差分法求解偏微分方程时,都会得到线性方程组:同时,很多物理学的问题最后也 ...
- 数值分析—行主元消去法解线性方程组—FORTRAN程序
数值分析-行主元消去法解线性方程组-FORTRAN程序 program main implicit none real8,dimension( :,: ),allocatable::A real8,d ...
- 乔利斯基三角分解_解线性方程组的直接法4.1-2.ppt
您所在位置:网站首页 > 海量文档  > 高等教育 > 微积分 解线性方程组的直接法4.1-2.ppt24页 本文档一 ...
- 直接法 matlab,解线性方程组直接方法matlab用法.doc
解线性方程组直接方法matlab用法 在这章中我们要学习线性方程组的直接法,特别是适合用数学软件在计算机上求解的方法. 2.1 方程组的逆矩阵解法及其MATLAB程序 2.1.3 线性方程组有解的判定 ...
- matlab算线性方程解,MATLAB计算方法3解线性方程组计算解法.pptx
第三章线性方程组数值解法解线性方程组 §3.1 直接法一. Gauss 消去法设 有消 元: 用Matlab实现顺序Gauss消去法在Matlab程序编辑器中输入:function x=nagauss ...
最新文章
- linux命令行颜色
- com.alibaba.excel.exception.ExcelAnalysisException: java.lang.NoClassDefFoundError: org/apache/poi/p
- 【HihoCoder - 1880】地铁环线 (前缀和,水题,模拟)
- C语言 数据结构 树和二叉树
- 解读Batch Normalization
- DBFace升级,模型仅1.3M的轻量级高精度人脸检测模型
- cassandra 数据量_Cassandra和Spark的数据处理简介
- java jsp网页计算器_JSP实现计算器功能(网页版)
- 如何实现Activiti的分支条件的自定义配置(转)
- json.dumps与json.dump的区别 json.loads与json.load的区别(简洁易懂)
- iOS并发编程(GCD)学习笔记
- 计算机网络——网络安全
- Hybrid APP基础篇(一)-什么是Hybrid App
- 有哪些值得推荐的PS(Adobe Photoshop)插件?
- 网上十大经典黑客软件大曝光(转)
- 【VHDL】VHDL设计一个分频器
- Unicode(全世界每个国家字符的唯一编码0x000000 到 0x10FFFF)与UTF-8的区别
- 2020年(农历庚子鼠年)春联大全(收藏必备)
- 干货分享:app运营推广超实用计划书
- 送学计算机男生什么礼物好,【十大男生喜欢的礼物】男生渴望收到什么礼物_主妇网...
热门文章
- 初学“深入浅出MFC”之(一)
- 第14课:JSP动作 JSP param动作(JSP教程 JSP入门实战教程 黄菊华Java网站开发系列教程)
- java过滤器Filter
- 国内在线查看Java源码(支持下载)
- Python Tkinter 项目实例:小说在线阅读器(爬虫部分已过期)
- LDN蓝牙双模键盘驱动和固件更新日志
- cmd 文本文件分割_cmd - 分割大文件
- 第55章、播放视频(从零开始学Android)
- 烧写嵌入式linux,嵌入式linux系统烧写
- virtualbox增强功能-VBoxGuestAdditions安装