编程遇到有关问题,请大家看看这是什么情况~谢啦
编程遇到问题,请大家看看这是什么情况~谢啦~
#include <stdio.h>
#include <math.h>
#include<iostream>
void getarray();
double getresult2(int n,double array1[2][2]) ;
double getresult3(int n,double temparrow3);
double getresult(int n);
double array[4][4];/*设矩阵4阶,可更改*/
double temparrowa[2][2];
double temparrow3[3][3];
double temparrow4[4][4];
double determinantcalculation();
double Judge();
double Judge2();
int main()
{
determinantcalculation();
return 0;
}
double determinantcalculation()
{
getarray();
Judge();
}
void getarray()
{
int row,col;
for(row=0;row<4;row++)
{
printf("\n请输入矩阵第%d行 :",row+1);
for(col=0;col<4;col++)
scanf("%lf",&array[row][col]);
}
}
double getresult2(int n,double array1[2][2])
{
。。。。。。
}
double getresult3(int n,double temparrow3[3][3])
{
..........
}
double getresult(int n)
{
. .....
}
double Judge() //2*2子矩阵行列式判定
{ double temparrowa[2][2];
int row,col,p,s,x,a,b;
//double result;
printf("----%f----",array[1][0]);
for(row=0;row<3;row++){
for(col=0;col<3;col++){
temparrowa[0][0]=array[row][col];
printf("\t%f",temparrowa[0][0]);
system("pause");
。。。。。
}
我定义了一个二维的array[4][4]的数组并进行输入,在 输入部分void getarray()函数中查看 array[1][0]等数值正常,但是到double Judge()这个函数中看array[1][0]等另一列数据就为0或是其它数值了,而array[0][1] 、[0][2]...第一行的又正常,这是为什么呢?本人小白,请多多指教!谢谢啦~
------解决方案--------------------
这里没看到有什么重要问题,就是printf的时候要用lf
------解决方案--------------------
楼主下个断点跟踪下吧
数值变了,看看在哪儿变的?
#include <stdio.h>
#include <math.h>
#include<iostream>
void getarray();
double getresult2(int n,double array1[2][2]) ;
double getresult3(int n,double temparrow3);
double getresult(int n);
double array[4][4];/*设矩阵4阶,可更改*/
double temparrowa[2][2];
double temparrow3[3][3];
double temparrow4[4][4];
double determinantcalculation();
double Judge();
double Judge2();
int main()
{
determinantcalculation();
return 0;
}
double determinantcalculation()
{
getarray();
Judge();
}
void getarray()
{
int row,col;
for(row=0;row<4;row++)
{
printf("\n请输入矩阵第%d行 :",row+1);
for(col=0;col<4;col++)
scanf("%lf",&array[row][col]);
}
}
double getresult2(int n,double array1[2][2])
{
。。。。。。
}
double getresult3(int n,double temparrow3[3][3])
{
..........
}
double getresult(int n)
{
. .....
}
double Judge() //2*2子矩阵行列式判定
{ double temparrowa[2][2];
int row,col,p,s,x,a,b;
//double result;
printf("----%f----",array[1][0]);
for(row=0;row<3;row++){
for(col=0;col<3;col++){
temparrowa[0][0]=array[row][col];
printf("\t%f",temparrowa[0][0]);
system("pause");
。。。。。
}
我定义了一个二维的array[4][4]的数组并进行输入,在 输入部分void getarray()函数中查看 array[1][0]等数值正常,但是到double Judge()这个函数中看array[1][0]等另一列数据就为0或是其它数值了,而array[0][1] 、[0][2]...第一行的又正常,这是为什么呢?本人小白,请多多指教!谢谢啦~
------解决方案--------------------
这里没看到有什么重要问题,就是printf的时候要用lf
------解决方案--------------------
楼主下个断点跟踪下吧
数值变了,看看在哪儿变的?