【发布时间】:2013-12-11 04:22:32
【问题描述】:
我编写了一个程序,它制作一个二维数组,然后设置它的数字。
我遇到问题的第二步是,当我想移动行和列时,我在这一行遇到了问题nmatrix[i*c+j] = 0;
错误是这样的:error: incompatible types in assignment of 'int' to 'int [(((sizetype)(((ssizetype)(c + shiftc)) + -1)) + 1)]'
这里是代码:
void shiftMatrix(int *matrix, int r,int c ,int shiftr,int shiftc){
int nmatrix [r+shiftr][c+shiftc];
for(int i = 0; i< shiftr; i++)
{
for(int j = 0; j<shiftc;j++)
{
nmatrix[i*c+j] = 0;
}
}
for(int i = shiftr; i< r; i++)
{
for(int j = shiftc; j<c;j++)
{
nmatrix[i*c+j] = matrix[i*c+j];
}
}
}
请帮忙?? 提前致谢
【问题讨论】:
-
您想移动行和列,还是只移动行就足够了? (这对于选择解决方案非常重要)
-
我希望他们两个都可以移动
标签: c++ multidimensional-array