| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 532 人关注过本帖
标题:[求助]看看这个方程的解问题出在哪
取消只看楼主 加入收藏
rollingsteel
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2007-10-13
收藏
 问题点数:0 回复次数:0 
[求助]看看这个方程的解问题出在哪

#include <stdio.h>
#include <math.h>
#include <iostream.h>
#include <conio.h>
main()
{
int k=0,i,j,m;
double a[3][3],b[3],x[3][1000],p,p1,p2,p0;
clrscr();
printf("Please input the coefficients :a11..a33 and b1 b2 b3\nWarning:The value of aii can't be zero!\n");
for(i=0;i<3;i++)
{for(j=0;j<3;j++)
scanf("%lf",&a[i][j]);
}
for(i=0;i<3;i++)
scanf("%lf\n",&b[i]);

printf("Please input the start value of x1[0],x2[0],x3[0]\n");
for(m=0;m<3;m++)
scanf("%lf\n",&x[m][0]);

do
{ x[0][k+1]=(b[0]-a[0][1]*x[1][k]-a[0][2]*x[2][k])/a[0][0];
x[1][k+1]=(b[1]-a[1][0]*x[0][k]-a[1][2]*x[2][k])/a[1][1];
x[2][k+1]=(b[2]-a[2][0]*x[0][k]-a[2][1]*x[1][k])/a[2][2];
p0=x[0][k+1]-x[0][k];
p1=x[1][k+1]-x[1][k];
p2=x[2][k+1]-x[2][k];
if(p0>p1&&p0>p2)
p=p0;
else
p=(p1>p2?p1:p2);k++;
}while (p>0.00001);
printf("x1=%lf\n",x[0][k+1]);
printf("x2=%lf\n",x[1][k+1]);
printf("x3=%lf\n",x[2][k+1]);
printf("The Jaxobi iterative number is:%d\n",k+1);
return 0;
}

说明:本方程是用雅克比迭代法解决三元一次方程的一个小程序。
有几个点可能有点问题: "x[3][1000]" 语言对数组的大小有规定么?
在输入方程组系数6个和b 3个之后本来要求输入初始值3个,但是程序却出现不只6+3+3个数要输入。
高手指教!

搜索更多相关主题的帖子: 方程 解问题 
2007-10-13 19:14
快速回复:[求助]看看这个方程的解问题出在哪
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012709 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved