资源简介
为了解方程更加容易 编写此通解程序,希望和大家分享一下,代码不够优化,望大家点评
代码片段和文件信息
// N元一次方程求解.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include
using namespace std;
void welcome();
void jisuan();
int xiugai();
void chengk(int i long double k);
void hualie(int i);
void Uhualie(int i);
void print();
void printb();
void chengplus(int i long double k int j);
void exchange(int i int j);
int hang=3;
int lie=4;
long double a[100][101];
long double b[100][101];
void main()
{
for(int i=0;i<100;i++)
{
for(int j=0;j<101;j++)
{
a[i][j]=0;
}
}
while(1)
{////////////////////////
int choose=0;
cout <<“ 1.修改未知数个数。\n“;
cout <<“ 2.修改方程组系数。\n“;
cout <<“ 3.输出方程组系数。\n“;
cout <<“ 4.计算结果。\n“;
cout <<“ 请选择:“;
cin >>choose;
switch(choose)
{
case 1:welcome();break;
case 2:xiugai();break;
case 3:print();break;
case 4:print();jisuan();printb();break;
default:cout <<“ 错误\n“;
}
}///////////////
}
void chengplus(int i long double k int j)
{
for(int t=0;t {
b[j-1][t]+=b[i-1][t]*k;
}
}
void print()
{
int n;
for(int m=0;m {
for(n=0;n<(lie-2);n++)
{
cout < }
cout < cout <<“ =“ < cout < }
cout <<“\n“;
}
void printb()
{
cout <<“\n“;
int testa=0;
int testb=0;
for(int i=0;i {
for(int j=0;j {
if(b[i][j]!=0){testb+=1;}
}
if(testb==0&&b[i][lie-1]!=0){testa+=1;}
testb=0;
}
if(testa!=0)
{
cout <<“ 方程组无解!!\n\n“;
}
else
{
cout <<“ “;
for(int n=0;n {
cout <<“x“ < }
cout <<“\n\n“;
}
}
void exchange(int i int j)
{
long double temp=0;
for(int t=0;t {
temp=b[i-1][t];
b[i-1][t]=b[j-1][t];
b[j-1][t]=temp;
}
}
void hualie(int i)
{
int jilu=-1;
for(int v=0;v<(hang-i+1);v++)
{
if(b[i-1+v][i-1]!=0)
{
jilu=i+v;
break;
}
}
if(jilu==-1)
{
}
else
{
long double kkk=1;
exchange(ijilu);
chengk(i(1.0/b[i-1][i-1]));
for(int w=0;w<(hang-i);w++)
{
if(b[i-1][i-1]!=0)
{
kkk=0.0-(b[i+w][i-1]/b[i-1][i-1]);
chengplus(ikkki+1+w);
}
}
}
}
void Uhualie(int i)
{
if(b[i-1][i-1]!=0)
{
long double kkk=1;
for(int w=0;w<(i-1);w++)
{
if(b[i-1][i-1]!=0)
{
kkk=0.0-(b[i-2-w][i-1]/b[i-1][i-1]);
chengplus(ikkki-1-w);
}
}
}
}
void chengk(int i long double k)
{
for(int c=0;c {
b[i-1][c]=b[i-1][c]*k;
}
}
void welcome()
{
do
{
cout <<“请输入未知数个数:“;
cin >>hang;
}while(hang<2||hang>99);
lie=hang+1;
}
void jisuan()
{
for(int i=0;i<100;i++)
{
for(int j=0;j<101;j++)
{
b[i][j]=a[i][j];
}
}
int z=0;
if(hang {
z=hang;
}
else
{
z=lie;
}
for(int zi=0;zi {
hualie(zi+1);
}
for(int zii=0;zii {
U
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 43008 2009-01-25 12:23 N元一次方程求解\Debug\N元一次方程求解.exe
文件 633856 2009-01-25 12:23 N元一次方程求解\Debug\N元一次方程求解.pdb
文件 8192 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\BuildLog.htm
文件 65 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\mt.dep
文件 663 2008-11-06 11:08 N元一次方程求解\N元一次方程求解\Debug\N元一次方程求解.exe.em
文件 728 2008-11-06 11:08 N元一次方程求解\N元一次方程求解\Debug\N元一次方程求解.exe.em
文件 621 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\N元一次方程求解.exe.intermediate.manifest
文件 57773 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\N元一次方程求解.obj
文件 12117 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\stdafx.obj
文件 274432 2009-01-25 12:23 N元一次方程求解\N元一次方程求解\Debug\vc90.pdb
文件 3580 2008-11-06 11:08 N元一次方程求解\N元一次方程求解\N元一次方程求解.cpp
文件 4540 2008-11-06 11:07 N元一次方程求解\N元一次方程求解\N元一次方程求解.vcproj
文件 1427 2009-01-25 12:28 N元一次方程求解\N元一次方程求解\N元一次方程求解.vcproj.WIN-JU0UWSZMC73.Administrator.user
文件 1350 2008-11-06 11:07 N元一次方程求解\N元一次方程求解\ReadMe.txt
文件 302 2008-11-06 11:07 N元一次方程求解\N元一次方程求解\stdafx.cpp
文件 320 2008-11-06 11:07 N元一次方程求解\N元一次方程求解\stdafx.h
文件 765 2008-11-06 11:07 N元一次方程求解\N元一次方程求解\targetver.h
文件 2247680 2009-01-25 12:28 N元一次方程求解\N元一次方程求解.ncb
文件 937 2008-11-06 11:07 N元一次方程求解\N元一次方程求解.sln
..A..H. 7680 2009-01-25 12:28 N元一次方程求解\N元一次方程求解.suo
目录 0 2009-02-02 00:00 N元一次方程求解\N元一次方程求解\Debug
目录 0 2009-02-02 00:00 N元一次方程求解\Debug
目录 0 2008-11-06 11:08 N元一次方程求解\N元一次方程求解
目录 0 2008-11-06 11:08 N元一次方程求解
----------- --------- ---------- ----- ----
3300036 24
- 上一篇:计算机网络课程设计—ARQ协议模拟实验
- 下一篇:对大文件的读写的两个类C#
评论
共有 条评论