我有一个 4*4 数组-
int arr[4][4] = {{1,2,3,4},
{5,6,7,8},
{9,10,11,12},
{13,14,15,16}};
想要将其转换为 2*2 数组 -
int final[2][2];
应该有
final[0][0] = (arr[0][0]+arr[0][1]+arr[1][0]+arr[1][1])/4;
final[0][1] = (arr[0][2]+arr[0][3]+arr[1][2]+arr[1][3])/4;
是否可以使用查找表从数组中提取值。
提前致谢
最佳答案
正如已经很好地评论的那样,您基本上已经有了这个,但只是为了完整性:
for ( i=0; i<2; i++ )
for ( j=0; j<2; j++ )
final[i][j] = (arr[i*2][j*2]+arr[i*2][j*2+1]+arr[i*2+1][j*2]+arr[i*2+1][j*2+1])/4;
关于在c中将4*4 int数组转换为2*2 int数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21286856/