| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2221 人关注过本帖
标题:高斯消元法解线性方程组 各位请进 一起研究下哈
取消只看楼主 加入收藏
潸叁
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-2
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:2 
高斯消元法解线性方程组 各位请进 一起研究下哈
RT 关于用高斯消元法解线性方程组
这个方法有几个环节  其中一个是要求:通过调换各行的顺序来将矩阵对角线上的元素弄为非零
于是 我就编了一个小程序
但是 发现达不到效果……
郁闷了两天 现在 贴出来
请各位仁兄侠姐帮忙研究下哈 共同进步!不胜感激!

PS:红色部分是我为了看效果放上去的程序;蓝色部分是循环的主体。

#include<math.h>
void main()
{
int n,i,j,k,g,h,m,c;float d,e;
scanf("%d",&n);
printf("n=%d",n);
float A[n][n]; float B[n][1];float C[1][n];
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)scanf("%f",&A[i][j]);
};
for(k=0;k<n;k++)scanf("%f",&B[k][0]);

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)printf("%f  ",A[i][j]);
printf("\n");
};
for(k=0;k<n;k++)printf("%f\n",B[k][0]);


h=n-1;
for(g=0;g<h;g++)
{
while(A[g][g]=0)
{
for(j=0;j<n;j++)C[0][j]=A[g][j];
for(m=g+1;m<n;m++)
{
c=m;
if(A[m][g]!=0)break;
}
for(j=0;j<n;j++)A[g][j]=A[c][j];
for(j=0;j<n;j++)A[c][j]=C[0][j];
}
}

for(i=0;i<n;i++)
{
for(j=0;j<n;j++)printf("%f  ",A[i][j]);
printf("\n");
};
}

搜索更多相关主题的帖子: 高斯 线性方程 研究 
2010-12-02 21:12
潸叁
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-2
收藏
得分:0 
回复 2楼 以中
楼上的 感谢你的回复!
不过 我现在发现了我原来的程序的问题 在我的程序中while这里 括号里面 只要将=改成==就解决问题了哈

C新手,加油!
2010-12-03 00:20
潸叁
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-12-2
收藏
得分:0 
回复 2楼 以中
感谢你啦  所以给了20分
其实不知道20分是多是少。
我的程序。。。嘿嘿 窃以为不错哈 花痴一下

C新手,加油!
2010-12-03 00:22
快速回复:高斯消元法解线性方程组 各位请进 一起研究下哈
数据加载中...
 
   



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

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