91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 656KB
    文件類型: .rar
    金幣: 2
    下載: 0 次
    發布日期: 2021-06-15
  • 語言: C/C++
  • 標簽: 高斯消去??

資源簡介

高斯消去法源代碼,能實現線性方程Ax=b的求解,內有注釋,簡單易懂

資源截圖

代碼片段和文件信息

#include?“iostream“
#include?“fstream“
#include?“string“
#include?“stdlib.h“
#include?“gauss.h“
using?namespace?std;

int?CountLines() //統計系數陣階數
{
int?n?=?0;
string?temp;
fstream?f;
f.open(“equation.txt“?ios::in);
if?(f.fail())
{
cout?< }
else
{
while?(getline(f?temp))
{
if?(temp[0]?==?‘#‘)
break;
n++;
}
}
f.close();
return?n;
}

void?equation::input()
{
int?t?i?=?0?j?=?0;
string?temp;
fstream?f;
f.open(“equation.txt“?ios::in);
while?(getline(f?temp?‘ ‘)) //從文件讀入系數矩陣到A中
{
t?=?temp.find(‘\n‘);
if?(t?>?-1)
temp.erase(t?sizeof(‘\n‘));
if?(temp[0]?==?‘#‘)
break;
else
{
if?(j?==?n?-?1)
{
A[i][j]?=?atof(temp.c_str());
j?=?0;
i++;
}
else
{
A[i][j]?=?atof(temp.c_str());
j++;
}
}
}
i?=?0;
while?(getline(f?temp?‘ ‘)?&&?!f.eof()) //從文件讀入常數項到b中
{
t?=?temp.find(‘\n‘);
if?(t?>?-1)
temp.erase(t?sizeof(‘\n‘));
b[i]?=?atof(temp.c_str());
i++;
}
// f.close(); //這里加這東西居然會報錯
}

void?equation::DisplayEquation() //顯示系數矩陣與常數向量
{
cout?< for?(int?i?=?0;?i? for?(int?j?=?0;?j? {
if?(j?==?n?-?1)
cout?< else
cout?< }
cout?<
for?(int?i?=?0;?i? cout?<????cout<}

void?equation::DisplayEquation(int?a) //顯示系數矩陣與常數向量
{
cout?< for?(int?i?=?0;?i? for?(int?j?=?0;?j? {
if?(j?==?n?-?1)
cout?< else
cout?< }
cout?<
for?(int?i?=?0;?i? cout?<????cout<}


void?equation::solve() //求解方程,將解存入x中
{
double?c;
int?q=0;
//================================forward?elimination==================================
for?(int?k?=?0;?k? {
for?(int?i?=?k?+?1;?i? {
c?=?A[i][k]?/?A[k][k];
for?(int?j?=?k;?j?????????????????A[i][j]?=?A[i][j]?-?A[k][j]?*?c;
b[i]?=?b[i]?-?b[k]?*?c;
}
}
if(A[n-1][n-1]<10e-8)
????{

????????cout<<“方程無解\n“;
????????cout<<“按任意鍵退出“<????????getchar();
????????exit(1);
????}
//==========================back?substitution==========================================
double?sum;
x[n?-?1]?=?b[n?-?1]?/?A[n?-?1][n?-?1];
for?(int?i?=?n?-?2;?i?>=?0;?i--)
{
sum?=?0;
for?(int?j?=?n?-?1;?j?>=?i?+?1;?j--)
sum?=?sum?+?A[i][j]?*?x[j];
x[i]?=?(b[i]?-?sum)?/?A[i][i];
}
}

void?equation::DisplayResult()
{
cout?< for?(int?i?=?0;?i? cout?< cout?<}

void?equation::output()
{
fstream?r;
r.open(“result.txt“?ios::out);
if?(r.fail())
{
cout?< getchar();
exit(1);
}
for?(int?i?=?0;?i? {
r?< }

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件?????????64??2017-10-20?20:53??gauss\bin\Debug\equation.txt

?????文件????1078599??2017-10-20?20:08??gauss\bin\Debug\gauss-有顯示.exe

?????文件????1079111??2017-10-20?20:33??gauss\bin\Debug\gauss.exe

?????文件?????????27??2017-10-20?20:53??gauss\bin\Debug\result.txt

?????文件?????561664??2017-10-20?19:29??gauss\bin\Release\gauss.exe

?????文件?????????40??2017-10-20?16:37??gauss\equation.txt

?????文件???????1095??2017-10-20?19:10??gauss\gauss.cbp

?????文件????????185??2017-10-20?20:40??gauss\gauss.depend

?????文件????????436??2017-10-20?19:48??gauss\gauss.h

?????文件????????542??2017-11-01?16:12??gauss\gauss.layout

?????文件???????3512??2017-10-20?20:33??gauss\main.cpp

?????文件??????38716??2017-10-20?20:33??gauss\obj\Debug\main.o

?????文件??????13229??2017-10-20?19:29??gauss\obj\Release\main.o

?????文件?????????24??2017-10-20?20:53??gauss\result.txt

?????目錄??????????0??2017-10-20?20:33??gauss\bin\Debug

?????目錄??????????0??2017-10-20?19:29??gauss\bin\Release

?????目錄??????????0??2017-10-20?20:33??gauss\obj\Debug

?????目錄??????????0??2017-10-20?19:29??gauss\obj\Release

?????目錄??????????0??2017-10-20?19:25??gauss\bin

?????目錄??????????0??2017-10-20?19:25??gauss\obj

?????目錄??????????0??2017-11-01?16:12??gauss

-----------?---------??----------?-----??----

??????????????2777244????????????????????21


評論

共有 條評論