有人可以帮忙查找此代码中的错误吗?我无法得到错误,&它给出了运行时错误。我检查了所有用于矩阵但不能找到错误的循环。
int n, arr[n][n];
cin>>n;
for (i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
cin>>arr[i][j];
}
}
for (i=0; i<n; i++)
{
for(j=0; j<n; j++)
{
sum = 0;
prev = ne;
ne = 0;
if(arr[i][j] == 1)
{
ne = i+j;
prev = i+j;
sum = ne - prev;
if(sum<0)
sum=-sum;
steps+=sum;
}
c++;
}
}
答案 0 :(得分:2)
您正在使用变量n来创建数组而不进行初始化。You must always use a constant for initializing a static array
做这样的事情:
std::min
另外,你应该使用&lt; n,而不是约翰指出的&lt; = n。
如果你想要一个动态数组,那么使用STL vector会更好。
答案 1 :(得分:0)
您没有初始化n
变量,而且循环也应该
for (i=0; i<n; i++)
C ++中的数组索引从零开始
相同的j循环