【发布时间】:2014-04-25 20:09:37
【问题描述】:
[已解决,谢谢] 我在 C++ 中开发了以下代码,以利用 Gauss-Seidel 方法求解线性方程,但在填充我无法弄清楚的数组时,我似乎在运行时遇到了问题。这是我的代码...
#include<stdio.h>
int main(void)
{
float a[10][10],b[10],x[10],y[10];
int n=0,m=0,i=0,j=0;
printf("Enter size of 2d array(Square matrix) : ");
scanf("%d",&n);
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
printf("Enter values no. %d %d :",i,j);
scanf("%f",&a[i][j]);
}
}
printf("\nEnter Values to the right side of equation\n");
for(i=0;i<n;i++)
{
printf("Enter values no. %d :",i,j);
scanf("%f",&b[i]);
}
printf("Enter initial values of x\n");
for(i=0;i<n;i++)
{
printf("Enter values no. %d :",i);
scanf("%f",&x[i]);
}
printf("\nEnter the no. of iteration : " );
scanf("%d",&m);
while(m>0)
{
for(i=0;i<n;i++)
{
y[i]=(b[i]/a[i][i]);
for(j=0;j<n;j++)
{
if(j==i)
continue;
y[i]=y[i]-((a[i][j]/a[i][i])*x[j]);
x[i]=y[i];
}
printf("x%d = %f ",i+1,y[i]);
}
printf("\n\n");
m--;
}
return 0;
【问题讨论】:
-
这不会编译。在我设法编译运行失败后。你能发布没有运行时错误的工作解决方案吗?
-
@privatedatapublicchannel2 先生,我正在努力解决 :(
标签: c++ linear-algebra equation