【发布时间】:2021-12-29 02:53:10
【问题描述】:
过去几个小时我一直在研究这段代码,但我还没有真正弄清楚如何做我需要做的事情,基本上我正在尝试复制 2x4 的元素数组成 4x2
输入数组:
{1,3,5,7}
{2,4,6,8}
所需的输出:
{1,5}
{2,6}
{3,7}
{4,8}
到目前为止我已经尝试过什么
int arr1[4][2];
int arr2[2][4];
int x,y;
for (x=0; x<4; x++){
for(y=0; y<2; y++){
arr1[x][y] = arr2[y][x];
}
}
任何关于我如何解决问题的建议将不胜感激。
【问题讨论】:
-
如果配对始终相同,您可以跳过循环并手动进行。也就是说,你的配对逻辑是什么?哪个元素应该去哪里?一旦你排除了这个可能性,你就可以相应地调整你的循环。
-
配对是指将 4x2 变成 2x4,我该怎么做,假设我不知道数组行或列索引,那么我认为这不可能
-
好吧,排序背后一定有某种规则,否则这将成为一项不可能完成的任务。在您的示例中,您总是将每个阵列的 1/3 和 2/4 配对。那是你的规则。现在您需要做的就是告诉您的计算机。
-
你确定你的例子是正确的吗?起初,我认为这是一个简单的转置(在代数意义上)。但是看看你的例子,这是完全不同的事情。对于转置,您的代码似乎正确