
用c语言写了一个程序,这两天就要交了,真不知道怎么错了,求大神帮忙看一看啊
这是用c语言求矩阵特征值和特征向量#include"stdio.h"#include"eastrq.c"voidmain(){inti,j;doubleb[3],c[3]...
这是用c语言求矩阵特征值和特征向量
#include "stdio.h"
#include "eastrq.c"
void main()
{
int i,j;
double b[3],c[3],q[3][3];
double a[3][3]={{10.0,1.0,2.0},{1.0,9.0,-1.0},{2.0,-1.0,7.0}};
eastrq(3,a[3][3],q[3][3],b[3],c[3]);
printf("MAT A IS:\n");
for (i=0; i<=2; i++)
{ for (j=0; j<=2; j++)
printf("%13.7e ",a[i][j]);
printf("\n");
}
printf("\n");
printf("MAT Q IS:\n");
for (i=0; i<=2; i++)
{ for (j=0; j<=2; j++)
printf("%13.7e ",q[i][j]);
printf("\n");
}
printf("\n");
printf("MAT B IS:\n");
for (i=0; i<=2; i++)
printf("%13.7e ",b[i]);
printf("\n\n");
printf("MAT C IS:\n");
for (i=0; i<=4; i++)
printf("%13.7e ",c[i]);
printf("\n\n");
} 展开
#include "stdio.h"
#include "eastrq.c"
void main()
{
int i,j;
double b[3],c[3],q[3][3];
double a[3][3]={{10.0,1.0,2.0},{1.0,9.0,-1.0},{2.0,-1.0,7.0}};
eastrq(3,a[3][3],q[3][3],b[3],c[3]);
printf("MAT A IS:\n");
for (i=0; i<=2; i++)
{ for (j=0; j<=2; j++)
printf("%13.7e ",a[i][j]);
printf("\n");
}
printf("\n");
printf("MAT Q IS:\n");
for (i=0; i<=2; i++)
{ for (j=0; j<=2; j++)
printf("%13.7e ",q[i][j]);
printf("\n");
}
printf("\n");
printf("MAT B IS:\n");
for (i=0; i<=2; i++)
printf("%13.7e ",b[i]);
printf("\n\n");
printf("MAT C IS:\n");
for (i=0; i<=4; i++)
printf("%13.7e ",c[i]);
printf("\n\n");
} 展开
展开全部
关键的就是eastrq这个函数的参数是什么,看你的错误提示就是参数不匹配,你传进去的是一个double而参数需要的是一个double的数组。。。
展开全部
eastrq.c这个文件没有啊
追问
#include "stdio.h"#include "math.h"
void eastrq(int n,double a[3][3],double q[3][3],double b[3],double c[3])
{ int i,j,k;double h,f,g,h2; for (i=0; i=1; i--){ h=0.0;if (i>1){for (k=0; k<=i-1; k++)后面还有,但是我觉得就无关了error C2664: 'eastrq' : cannot convert parameter 2 from 'double' to 'double [][3]'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-03-29
展开全部
没有认可这个函数eastrq.c
追问
#include "stdio.h"#include "math.h"
void eastrq(int n,double a[3][3],double q[3][3],double b[3],double c[3])
{ int i,j,k;double h,f,g,h2; for (i=0; i<=n-1; i++){ for (j=0; j<=n-1; j++){
q[i][j]=a[i][j]; }}
后面还有,太多了,发布上来,可能关系就不大了,error C2664: 'eastrq' : cannot convert parameter 2 from 'double' to 'double [][3]'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询