我试图将二维数组复制到另一个大小不同的数组中。
例如:
第一个数组有4行4列:
第二个数组有2行8列:
如果新数组中的元素比第一个元素多,那么该函数将用0填充它。
这是我写的函数,但是索引的问题。如何以正确的方式编写它?
1 2 3 4
5 6 7 8
9 0 1 2
3 4 5 6
第二个数组有2行8列:
1 2 3 4 5 6 7 8
9 0 1 2 3 4 5 6
如果新数组中的元素比第一个元素多,那么该函数将用0填充它。
这是我写的函数,但是索引的问题。如何以正确的方式编写它?
void changearr(int **ppm, int size1, int size2, int size_1, int size_2)
{
int **temp = new int*[size_1];
for (int i = 0; i < size_1; i++)
temp[i] = new int[size_2];
int z = 0;
for (int i = 0; i < size_1; i++, z++)
{
for (int j = 0, k = 0; j < size_2; j++, k++)
{
if (i < size_1 || j < size_2)
{
temp[i][j] = ppm[z][k];
}
else
temp[i][j] = 0
}
}