Screenshot of the error code 我试图弄清楚为什么我的程序不能正常工作。这是一个应该创建Vandermonde矩阵的程序,但它得到的是最后的数字错误,我真的不明白为什么会发生这种情况。我手动完成了它(你知道,检查计算机正在做什么并将其写在纸上)我真的不知道它会在哪里发生。
提前谢谢!
#include <iostream>
#include <vector>
#include <math.h>
int main ()
{
int n, m;
std::cin >> m;
std::cin >> n;
double x[m];
for (int l = 0; l < m; l++) //fill in x-es
{
double f;
std::cin >> f;
x[l] = f;
}
std::vector<std::vector<double> > mat ( n , std::vector<double>( m, 0));
for ( int i = 0; i < m; i++) //creat matrix
for (int j = 0; j < n; j++)
{
mat [i][j] = pow(x[i] , j);
}
for (int i = 0 ; i < m ; ++i)
{
for (int j = 0 ; j < n ; ++j)
std::cout << mat [ i ] [ j ] << " " ;
std::cout << "\n" ;
}
return 0;
}
答案 0 :(得分:1)
将std::vector<std::vector<double> > mat ( n , std::vector<double>( m, 0));
替换为
std::vector<std::vector<double> > mat ( m , std::vector<double>( n, 0));
它会正常工作