?? diedai.txt
字號:
#include <iostream>
using namespace std;
const int n=3; //N元方程
double (*data)[n+1]=new double[n][n+1];
double *x=new double[n];
const int t=6; //迭代次數
double sum(const int &);
int main()
{
for (int i=0;i!=n;++i)
for (int j=0; j!=n+1;++j)
cin >> data[i][j];
cout << "Please enter initial value:" << endl;
for (int i=0;i!=n;++i)
cin >> x[i];
for (int i=0;i!=t;++i)
for (int j=0;j!=n;++j)
x[j]=(data[j][n]-sum(j))/data[j][j];
for (int i=0;i!=n;++i)
cout << x[i] << "\t";
system ("pause");
}
double sum(const int &j)
{
double s=0;
for (int i=0;i!=n;++i) {
if (i!=j) s+=x[i]*data[j][i];
else continue;
}
return s;
}
文章搜索: 【點擊打包該文章】 被過濾廣告
【本站開通在線QQ討論群】
for(i=0;i<MAXREPT;i++)
{
for(j=0;j<n;j++)
nx[j]=g[j];
for(j=0;j<n;j++)
{
for(k=0;k<n;k++)
{
if(j==k)continue;
nx[j]+=b[j][k]*x[k]; //迭代
}
}
err=0;
for(j=0;j<n;j++)
if(err<fabs(nx[j]-x[j]))err=fabs(nx[j]-x[j]); //誤差
for(j=0;j<n;j++)
x[j]=nx[j];
if(err<epsilon)
{
printf("Solve...x_i=\n"); //輸出
for(i=0;i<n;i++)
printf("%f\n",x[i]);
return 0;
}
}
printf("After %d repeat ,no result...\n",MAXREPT); //輸出
return 1;
}
文章出處:http://www.diybl.com/course/3_program/c/cshl/2007213/21300_2.html
#include<stdio.h>
#include<math.h>
void main()
{float a[10][10],b[10],x[10],y[10],e,sum,c;
int i,j,n,l;
printf("The top exp is ");
scanf("%d",&n);
printf("Now input array A\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
scanf("%f",&a[i][j]);
printf("Now input array B first and then array X\n");
for(i=0;i<n;i++)
scanf("%f,%f",&b[i],&x[i]);
printf("Now input e\n");
scanf("%f",&e);
l=0;
do{for(i=0;i<n;i++)
{sum=0;
for(j=0;j<i;j++)
sum+=a[i][j]*x[j];
for(j=i+1;j<n;j++)
sum+=a[i][j]*x[j];
y[i]=(b[i]-sum)/a[i][i];
l+=1;
}
c=fabs(x[0]-y[0]);
for(i=0;i<n;i++)
if(c<fabs(x[i]-y[i]))
c=fabs(x[i]-y[i]);
for(i=0;i<n;i++)
x[i]=y[i];
}while(c<e);
printf("%d\n",l);
for(i=0;i<n;i++)
printf("%f\n",y[i]);
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -