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

  • 大小: 6KB
    文件類型: .cpp
    金幣: 2
    下載: 0 次
    發布日期: 2024-01-05
  • 語言: C/C++
  • 標簽: C/C++程序??消去法??

資源簡介

高斯消去法是求解線性方程組的一種實用方法,絕大多數以matlab程序居多,雖然有部分C/C++程序,但是他們都有一些不足之處。本程序采用C/C++語言,實現高斯消去法,輸入輸出結果均可以分數和浮點數的形式展現,滿足更多人的需求。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#define?debug?“output?for?debug\n“
#define?pi?(acos(-1.0))
#define?eps?(1e-6)
#define?inf?(1<<28)
#define?sqr(x)?(x)?*?(x)
#define?mod?1000000007
using?namespace?std;
typedef?long?long?ll;
typedef?unsigned?long?long?ULL;

//結構體構造分數
struct?node
{
????char?sig;//正負號
????long?long?molden;//分子分母
};

//最大公約數
long?long?gcd(long?long?mlong?long?n)
{
????return?(m==0)?n:gcd(n%m?m);
}

//重載運算符+
node?operator?+(node?anode?b)
{
????long?long?temp;
????int?fa=0fb=0;
????node?tp;
????fa=(a.sig==‘+‘)?1:-1;
????fb=(b.sig==‘+‘)?1:-1;
????tp.mol=fa*a.mol*b.den+fb*a.den*b.mol;
????tp.den=a.den*b.den;
????tp.sig=(tp.mol<0)?‘-‘:‘+‘;
????tp.mol=abs(tp.mol);
????temp=gcd(tp.moltp.den);
????tp.mol/=temp;
????tp.den/=temp;
????return?tp;
}
//重載運算符-
node?operator?-(node?anode?b)
{
????long?long?temp;
????int?fa=0fb=0;
????node?tp;
????fa=(a.sig==‘+‘)?1:-1;
????fb=(b.sig==‘+‘)?1:-1;
????tp.mol=fa*a.mol*b.den-fb*a.den*b.mol;
????tp.den=a.den*b.den;
????tp.sig=(tp.mol<0)?‘-‘:‘+‘;
????tp.mol=abs(tp.mol);
????temp=gcd(tp.moltp.den);
????tp.mol/=temp;
????tp.den/=temp;
????return?tp;
}
//重載運算符*
node?operator?*(node?anode?b)
{
????long?long?temp;
????int?fa=0fb=0;
????node?tp;
????fa=(a.sig==‘+‘)?1:-1;
????fb=(b.sig==‘+‘)?1:-1;
????tp.mol=fa*a.mol*fb*b.mol;
????tp.den=a.den*b.den;
????tp.sig=(tp.mol<0)?‘-‘:‘+‘;
????tp.mol=abs(tp.mol);
????temp=gcd(tp.moltp.den);
????tp.mol/=temp;
????tp.den/=temp;
????return?tp;
}
//重載運算符/
node?operator?/(node?anode?b)
{
????long?long?temp;
????int?fa=0fb=0;
????node?tp;
????fa=(a.sig==‘+‘)?1:-1;
????fb=(b.sig==‘+‘)?1:-1;
????tp.mol=fa*a.mol*fb*b.den;
????tp.den=a.den*b.mol;
????tp.sig=(tp.mol<0)?‘-‘:‘+‘;
????tp.mol=abs(tp.mol);
????temp=gcd(tp.moltp.den);
????tp.mol/=temp;
????tp.den/=temp;
????return?tp;
}

//高斯列主元消去法
void?Gausselimpiv(int?niint?njnode?a[][20])
{
????int?ijkmaxi;
????node?temp;
????for(k=1;?k????{
????????temp=a[k-1][k-1];
????????maxi=k-1;
????????for(i=k-1;?i????????{
????????????long?long?num=0ll;
????????????num=temp.mol*a[i][k-1].den-temp.den*a[i][k-1].mol;
????????????if(num<0)
????????????{
????????????????temp=a[i][k-1];
????????????????maxi=i;
????????????}
????????}
????????printf(“第%d次消元\n主元元素:“k);
????????//printf(“a[%2d][%2d]=%c%5lld/%-5lld?“maxik-1a[maxi][k-1].siga[maxi][k-1].mola[maxi][k-1].den);
????????//printf(“≈%c%-lf\n“a[maxi][k-1].siga[maxi][k-1].mol*1.0/a[maxi][k-1].den);
????????printf(“a[%d][%d]=%c%lld/%lld?“maxik-1a[maxi][k-1].siga[maxi][k-1].mol

評論

共有 條評論