| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 488 人关注过本帖
标题:还是关于矩阵元输入
只看楼主 加入收藏
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
结帖率:60%
收藏
 问题点数:0 回复次数:3 
还是关于矩阵元输入

以下程序原本想解方程的Ax=b
但矩阵元的输入有错误。


#include <stdio.h>
#include <conio.h>
#include <alloc.h>
main()
{
int i,j;
int n;
double *A,*x,*B; /*考虑将来作为一个函数,供调用。所以用一维数组*/
void inputn(int *n); /*方程的个数*/
void initiate(int n,double A[],double B[]); /*输入A,B的矩阵元*/
void solve_below(int n,double A[],double x[],double B[]); /*解下三角矩阵*/
inputn(&n);
A=calloc(n*n,sizeof(int)); /*A为n*n矩阵*/
B=calloc(n,sizeof(int));
x=calloc(n,sizeof(int));
if (A&&B&&x==0)
{
printf("calloc error:\nPress any key to exit:");
getch();
exit (1);
}
initiate(n,A,B);

printf("A=\n");
for (i=0;i<n;i++)
for (j=0;j<n;j++)
printf("%g\t",A[i*n+j]);
printf("\nB=\n");
for (i=0;i<n;i++)
printf("%g\t",B[i]);
printf("\n"); /*输入与输出不符*/

solve_below(n,A,x,B);
for (i=0;i<n;i++)
printf("x[%d]=%.5lf\n",i,x[i]);
getch();
}

/*======inputn=====*/
/*输入方程的个数*/
void inputn(int *n)
{
double nn; /*考虑到浮点的输入链接,所以将方程的个数先以浮点形式进行输入,再返回整形数*/
system("cls");
printf("Please input the number of equation:");
scanf("%lf",&nn);
*n=nn;
}
/*====initiate=========*/
/*=====输入矩阵元======*/
void initiate(int n,double A[],double B[])
{
int i;
printf("input A\n");
for (i=0;i<n*n;i++)
scanf("%lf",&A[i]);
printf("input B\n");
for (i=0;i<n;i++)
scanf("%lf",&B[i]);
}
/*====solve_below======*/
/*===解下三角矩阵======*/
void solve_below(int n,double A[],double x[],double B[])
{
int i,j;
for (i=0;i<n;x[i]/=A[i*n+i],i++)
for (j=0,x[i]=B[i];j<=i-1;j++)
x[i]-=A[i*n+j]*x[j];
}

搜索更多相关主题的帖子: 矩阵元 输入 
2006-06-29 17:38
–★–
Rank: 3Rank: 3
等 级:新手上路
威 望:6
帖 子:1512
专家分:0
注 册:2006-5-1
收藏
得分:0 
double *A,*x,*B; /*考虑将来作为一个函数,供调用。所以用一维数组*/
void inputn(int *n); /*方程的个数*/
void initiate(int n,double A[],double B[]); /*输入A,B的矩阵元*/
void solve_below(int n,double A[],double x[],double B[]); /*解下三角矩阵*/
inputn(&n);
A=calloc(n*n,sizeof(int)); /*A为n*n矩阵*/
B=calloc(n,sizeof(int));
x=calloc(n,sizeof(int));
--------------------------------------------------------
A,B,x到底是什么类型?int? double? 一片迷茫!
真不知道高等数学、线性代数都学的什么玩意儿?

落霞与孤鹜齐飞,秋水共长天一色! 心有多大,路有多宽。三教九流,鸡鸣狗盗。兼收并蓄,海纳百川。
2006-06-29 17:45
canon787
Rank: 1
等 级:新手上路
帖 子:93
专家分:0
注 册:2006-6-28
收藏
得分:0 
–★–
你好棒哦!!!

Learning by heart
2006-06-29 17:54
cordier
Rank: 2
等 级:论坛游民
威 望:1
帖 子:449
专家分:14
注 册:2006-2-9
收藏
得分:0 

谢谢.


2006-06-29 20:04
快速回复:还是关于矩阵元输入
数据加载中...
 
   



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

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