#include<iostream>
#include<math.h>
#include<fstream>
#include<stdlib.h>
using namespace std;
#define MaxElement 4 void print(double (*pArray)[MaxElement + ], int iWidth,int iHigh);
void main(){
int n,m;
double a[MaxElement][MaxElement + ] = {
//3
// {100, 10, 1, 10},
// {400, 20, 1, 20},
// {900, 30, 1, 10}, //
{,,,,},
{,,,,-},
{,,,,-},
{,,-,,-},
};//第四列是增广矩阵
int i,j;
n = MaxElement;
cout<<"输入方程组介数:";
cout<<n<<endl;
cout<<"输入增广矩阵:"<<endl;
for(i = ; i < n; i++){
for(j = ; j < n + ;j++){
cout<<a[i][j]<<" ";
}
cout<<endl;
}
for(j = ; j < n; j++)
{
double max = ;
double imax = ;
for(i = j; i < n; i++)
{
if(imax < fabs(a[i][j])){
imax = fabs(a[i][j]);
max = a[i][j];//得到各行中所在列最大元素
m = i;
}
}
if(fabs(a[j][j]) != max)
{
double b = ;
for(int k = j;k < n + ; k++){
b = a[j][k];
a[j][k] = a[m][k];
a[m][k] = b;
}
}
print(a, MaxElement, MaxElement + );
for(int r = j;r < n + ;r++)
{
a[j][r] = a[j][r] / max;//让该行的所在列除以所在列的第一个元素,目的是让首元素为1
}
print(a, MaxElement, MaxElement + );
for(i = j + ;i < n; i++)
{
double c = a[i][j];
if(c == ) continue;
for(int s = j;s < n + ;s++){
double tempdata = a[i][s];
a[i][s] = a[i][s] - a[j][s] * c;//前后行数相减,使下一行或者上一行的首元素为0
print(a, MaxElement, MaxElement + );
}
print(a, MaxElement, MaxElement + );
}
print(a, MaxElement, MaxElement + );
}
for(i = n - ; i >= ; i--)
{
for(j = i + ;j < n; j++)
{
double tempData = a[i][j];
double data1 = a[i][n];
double data2 = a[j][n];
a[i][n] = a[i][n] - a[j][n] * a[i][j];
print(a, MaxElement, MaxElement + );
}
}
print(a, MaxElement, MaxElement + );
cout<<"方程组的解是:"<<endl;
for(int k = ; k < n; k++){
cout<<"x"<<k<<" = "<<a[k][n]<<endl;
}
}
void print(double (*pArray)[MaxElement + ], int iWidth,int iHigh) {
std::cout<<"Array: "<<"\n";
for(int i = ; i < iWidth; i++)
{
for(int j = ; j < iHigh;j++)
{
cout<<pArray[i][j]<<" ";
}
cout<<endl;
}
}

多元一次方程解法 C++的更多相关文章

  1. 模板-->Guass消元法(求解多元一次方程组)

    如果有相应的OJ题目,欢迎同学们提供相应的链接 相关链接 所有模板的快速链接 简单的测试 None 代码模板 /* * TIME COMPLEXITY:O(n^3) * PARAMS: * a The ...

  2. 深度神经网络结构以及Pre-Training的理解

    Logistic回归.传统多层神经网络 1.1 线性回归.线性神经网络.Logistic/Softmax回归 线性回归是用于数据拟合的常规手段,其任务是优化目标函数:$h(\theta )=\thet ...

  3. 世界杯足彩怎么买划算?机器学习AI告诉你答案(含预测)

    本文首发于InfoQ公众号头条. 四年一度的世界杯又来了,作为没什么时间看球的码农,跟大家一样,靠买买足彩给自己点看球动力和乐趣, 然而总是买错球队,面对各种赔率也不知道怎么买才划算,足彩是不是碰大运 ...

  4. python开发编译器

    引言 最近刚刚用python写完了一个解析protobuf文件的简单编译器,深感ply实现词法分析和语法分析的简洁方便.乘着余热未过,头脑清醒,记下一点总结和心得,方便各位pythoner参考使用. ...

  5. [转]9个offer,12家公司,35场面试,从微软到谷歌,应届计算机毕业生的2012求职之路

    1,简介 毕业答辩搞定,总算可以闲一段时间,把这段求职经历写出来,也作为之前三个半月的求职的回顾. 首先说说我拿到的offer情况: 微软,3面->终面,搞定 百度,3面->终面,口头of ...

  6. 线性回归、梯度下降(Linear Regression、Gradient Descent)

    转载请注明出自BYRans博客:http://www.cnblogs.com/BYRans/ 实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积.卧室数量和房屋的交易价格,如下表: ...

  7. 【转】NumPy-快速处理数据

    2.0 简介 标准安装的Python中用列表(list)保存一组值,可以用来当作数组使用,不过由于列表的元素可以是任何对象,因此列表中所保存的是对象的指针(为了保存各种类型的对象,只能牺牲空间).这样 ...

  8. 机器学习实战 - 读书笔记(05) - Logistic回归

    解释 Logistic回归用于寻找最优化算法. 最优化算法可以解决最XX问题,比如如何在最短时间内从A点到达B点?如何投入最少工作量却获得最大的效益?如何设计发动机使得油耗最少而功率最大? 我们可以看 ...

  9. 用php计算行列式

    因为有课程设计要计算多元一次方程组,所以想编个程序实现,多元一次方程组的计算最系统的方法就是利用克拉默法则求解方程组,所以只需要编写一个类或者方法求出多元一次方程组系数行列式的值和和其他几个行列式,如 ...

随机推荐

  1. 2017-4-18 关于小组APP

    演讲: 各位合作伙伴:我们的产品:图书鉴赏是为了解决18岁到28岁青年的痛苦,他们需要更好的图书推荐,更多的好书,但是现有的方案并没有能很好的解决这些需求,我们有独特的办法制作一个图书鉴赏的APP,它 ...

  2. Selenium3+python自动化008-常用操作

    一.元素常用操作 1. clear()            清除文本 2. send_keys()        模拟输入 3. click()            单击元素 4.get_attr ...

  3. BZOJ 1266: [AHOI2006]上学路线route Floyd_最小割

    十分简单的一道题. 图这么小,跑一边 Floyd 就得到第一问最短路径的答案. 考虑第二问怎么求:我们可以先将最短路径组成的图从原图中抽离出来,构成新图 $G$. 我们发现,只要 $G$ 的起点与终点 ...

  4. 常用shell备份脚本

    #!/bin/sh # File: /路径/mysql/backup_mydb.sh # Database info DB_NAME="szby" DB_USER="ro ...

  5. nginx视频服务缓存方案设置指导

    本文描述了如何通过设置nginx缓存达到降低服务器后端压力的效果以及结合nginx第三方插件ngx_cache_purge实现nginx缓存后的自动清理功能.具体实施步骤如下所示:第一步:获取清除清除 ...

  6. js和java中URI的编码和解码

    js中对文字进行编码主要有三个函数:escape,encodeURI,encodeURIComponent: 对应解码为:unescape,decodeURI,decodeURIComponent 这 ...

  7. 算法18-----判断是否存在符合条件的元素【list】

    1.题目: 给定一个整数数组,判断其中是否存在两个不同的下标i和j满足:| nums[i] - nums[j] | <= t 并且 | i - j | <= k 2.思路: 来自链接:ht ...

  8. [USACO17JAN]Promotion Counting

    线段树合并. 正解好像不是线段树合并,但是出于练手的目的写了线段树合并. 大概就是对于左右子树,如果有一个为空,返回非空的,如果都不为空,就把这两个整合到一起就行了. #include <ios ...

  9. UID和GID(详细说明)

    一.UID(User Identify)中文用户ID,相当于身份证一样,在系统中是唯一的. 用户分类centos6超级用户 UID=0 root普通用户 UID=500起 oldboy虚拟用户 UID ...

  10. C++学习笔记(转)

    http://www.cnblogs.com/maowang1991/p/3290321.html 以下内容为自己一年多的C++学习心得,纯原创,转载请注明源地址. 一年多的C++学习过程中,自己阅读 ...