麻烦大家给举几个c++ 类的 例子
答案:2 悬赏:20
解决时间 2021-02-21 13:10
- 提问者网友:痞子房西
- 2021-02-21 03:23
麻烦大家给举几个c++ 类的 例子
最佳答案
- 二级知识专家网友:迷人小乖乖
- 2021-02-21 04:49
==============================\n"" //方程系数
double constant[Max_Number]; //<
cin>>number;n";
void evaluechange_value(int m,int n).h>
const int Max_Number=20;
class equation
{
private;i++)
value[i]='number;i++) //n";
for(k=0;k
{
for(mavaluei=mavaluej=i=k;i
{
for(j=k;j
if(modulus[i][j]>modulus[mavaluei][ mavaluej])
{ mavaluei=i;
mavaluej=j;
}
}
if(mavaluei!=k)
evaluechange_hang(k,mavaluei);
if(mavaluej!=k)
{
evaluechange_a_lie(mavaluej,k); //交换两列
evaluechange_value(mavaluej,k);
}
for(i=k+1;i
{
lik=modulus[i][k]/modulus[k][k];
for(j=k;j
modulus[i][j]=modulus[i][j]-modulus[k][j]*lik;
constant[i]=constant[i]-constant[k]*lik;
}
}
}
void equation::gauss_calculate() //高斯消去法以后计算未知量的结果
{
int i,j;double sum_avalue;
constant[number-1]=constant[number-1]/modulus[number-1][number-1];
for(i=number-2;i>=0;i--)
{
for(j=i+1,sum_avalue=0;j
sum_avalue+=modulus[i][j]*constant[j];
constant[i]=(constant[i]-sum_avalue)/modulus[i][i];
}
}
void equation::evaluechange_hang(int m,int n) //交换a[][]中和b[]两行
{
int j; double temp;
for(j=0;j
{ temp=modulus[m][j];
modulus[m][j]=modulus[n][j];
modulus[n][j]=temp;
}
temp=constant[m];
constant[m]=constant[n];
constant[n]=temp;
}
void equation::evaluechange_a_lie(int m,int n) //交换a[]中的两列
{ double temp;int i;
for(i=0;i
{ temp=modulus[i][m];
modulus[i][m]=modulus[i][n];
modulus[i][n]=temp;
}
}
void equation::evaluechange_value(int m,int n) //交换未知量x[m]与x[n]
{ char temp;
temp=value[m];
value[m]=value[n];
value[n]=temp;
};"
equation:;endl;
}
}
else
cout<<"系数行列式等于零;i+1<<" "
}
cout<<"=10\n"
cin>>constant[i];
}
}
//;
cout<
a.solve_eqution();
cin;i++)
cout<
for(i=1;i未知量
double modulus[Max_Number][Max_Number],k;<下面是个头文件;;
for(i=0:"a'方程个数
char value[Max_Number];
cout<<"请在每个方程里输入";
cout<
void gauss_calculate(); //n";<
}
/modulus[i][j];:";/Gauss全主元消去法
{
int i,b;用Gauss全主元消去法结果如下:\ ///高斯全主元消去
void gauss_all_valueiaoqu(); //i++)
{
cout<<"输入方程"< public:
equation(int _number=0);/---------02.输入每个方程
for(i=0;---------输入数据------01:gauss_all_valueiaoqu() /.提示如何输入
cout<<"====================================================\高斯消去法以后计算未知量的结果
void evaluechange_hang(int m,int n)..
for(i=0; //i
};
void evaluechange_a_lie(int m,int n):solve_eqution()
{
int i,j;
gauss_all_valueiaoqu();
if(modulus[number-1][number-1]!=0)
{
gauss_calculate();
for(i=0;i<构造函数
void InputData();
cout
{
cout<<"+" /应输入;
cin.get();
}
//,mavaluei,mavaluej;value[j]<:
int number;iomanip::InputData()
{
int i,j;
if(number==0)
{
cout<<"输入方程的个数:";/----------------------------初始化数据为0
void equation;n方程.h>
#include"01;;
cout
cout<,j;;
cout<<"例:\"
}
void equation:,方程没有唯一的解.\"a'j++)
cin>>;
/+i;
//:a";"。
#include<<.h"
void main()
{
equation a;
a;="<
}
/:\n"高斯全主元排列求解方程
void equation:;/这个类是一个方程组的类,可以解决奇次方程组。
#include
{
for(j=0;value[j];j
for(j=0.InputData();i+1<
void solve_eqution(),c;<10\n":equation(int _number)
{
number=_number;"number< //
double constant[Max_Number]; //<
cin>>number;n";
void evaluechange_value(int m,int n).h>
const int Max_Number=20;
class equation
{
private;i++)
value[i]='number;i++) //n";
for(k=0;k
for(mavaluei=mavaluej=i=k;i
for(j=k;j
{ mavaluei=i;
mavaluej=j;
}
}
if(mavaluei!=k)
evaluechange_hang(k,mavaluei);
if(mavaluej!=k)
{
evaluechange_a_lie(mavaluej,k); //交换两列
evaluechange_value(mavaluej,k);
}
for(i=k+1;i
lik=modulus[i][k]/modulus[k][k];
for(j=k;j
constant[i]=constant[i]-constant[k]*lik;
}
}
}
void equation::gauss_calculate() //高斯消去法以后计算未知量的结果
{
int i,j;double sum_avalue;
constant[number-1]=constant[number-1]/modulus[number-1][number-1];
for(i=number-2;i>=0;i--)
{
for(j=i+1,sum_avalue=0;j
constant[i]=(constant[i]-sum_avalue)/modulus[i][i];
}
}
void equation::evaluechange_hang(int m,int n) //交换a[][]中和b[]两行
{
int j; double temp;
for(j=0;j
modulus[m][j]=modulus[n][j];
modulus[n][j]=temp;
}
temp=constant[m];
constant[m]=constant[n];
constant[n]=temp;
}
void equation::evaluechange_a_lie(int m,int n) //交换a[]中的两列
{ double temp;int i;
for(i=0;i
modulus[i][m]=modulus[i][n];
modulus[i][n]=temp;
}
}
void equation::evaluechange_value(int m,int n) //交换未知量x[m]与x[n]
{ char temp;
temp=value[m];
value[m]=value[n];
value[n]=temp;
};"
equation:;endl;
}
}
else
cout<<"系数行列式等于零;i+1<<" "
}
cout<<"=10\n"
cin>>constant[i];
}
}
//;
cout<
a.solve_eqution();
cin;i++)
cout<
for(i=1;i未知量
double modulus[Max_Number][Max_Number],k;<下面是个头文件;;
for(i=0:"a'方程个数
char value[Max_Number];
cout<<"请在每个方程里输入";
cout<
}
/modulus[i][j];:";/Gauss全主元消去法
{
int i,b;用Gauss全主元消去法结果如下:\ ///高斯全主元消去
void gauss_all_valueiaoqu(); //i++)
{
cout<<"输入方程"< public:
equation(int _number=0);/---------02.输入每个方程
for(i=0;---------输入数据------01:gauss_all_valueiaoqu() /.提示如何输入
cout<<"====================================================\高斯消去法以后计算未知量的结果
void evaluechange_hang(int m,int n)..
for(i=0; //i
void evaluechange_a_lie(int m,int n):solve_eqution()
{
int i,j;
gauss_all_valueiaoqu();
if(modulus[number-1][number-1]!=0)
{
gauss_calculate();
for(i=0;i<构造函数
void InputData();
cout<<"+" /应输入;
cin.get();
}
//,mavaluei,mavaluej;value[j]<:
int number;iomanip::InputData()
{
int i,j;
if(number==0)
{
cout<<"输入方程的个数:";/----------------------------初始化数据为0
void equation;n方程.h>
#include"01;;
cout
cout<<"例:\"
}
void equation:,方程没有唯一的解.\"a'j++)
cin>>;
/+i;
//:a";"。
#include<<.h"
void main()
{
equation a;
a;="<
/:\n"高斯全主元排列求解方程
void equation:;/这个类是一个方程组的类,可以解决奇次方程组。
#include
for(j=0;value[j];j
{
number=_number;"number< //
全部回答
- 1楼网友:佛说妍妍很渣
- 2021-02-21 05:35
string类和输入输出类(istream ostream等)
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯