arrays - 是否可以在不使用内存空间的情况下创建数组?
问题描述
给定功能:
int sumIndexesOfFour(int array[4][4], int lookFor[4])
给定一个包含 100 个数字的二维数组和一个包含 4 个数字的二维数组,该函数在第一个数组中查找这些数字并将它们的索引相加。我想创建一个新功能:
void sumAllFours(int array[4][4], int sum[16], int output[4])
该函数将数组总和分成 4 组,每组 4 个数字(0 到 3、4 到 7、8 到 11、12 到 15),在第一个数组中查找每个组的索引,并将它们相加,然后将结果放入输出数组(根据集合的顺序)。
我正在尝试在不使用内存中的任何额外空间的情况下构建 sumAllFours 函数(这意味着我无法创建新的二维数组或指针或任何东西),但我也想使用需要二维数组的函数 sumIndexesOfFour一个输入。到目前为止,这是我的代码:
void sumAllFours(int array[4][4], int sum[16], int output[4])
{
int setNum=0, firstNum = sum[0], secondNum= sum[1], thirdNum= sum[2], fourthNum= sum[3];
for(int i=0; i<4, i= i+4)
{
firstNum= sum[i];
secondNum= sum[i+1];
thirdNum= sum[i+2]
fourthNum= sum[i+3];
output[setNum]= sumIndexesOfFour(array, **{firstNum, secondNum, thirdNum, fourthNum}** );
setNum++
}
}
** ** 之间的部分是我试图弄清楚该怎么做,我想给 sumIndexesOfFour 一个由四个数字组成的数组来求和它们的索引,但我无法创建一个新数组,所以我认为可能有一些程序在不实际定义数组的情况下将某种行或命令转换为数组的方法。
可能吗?如果是这样,我应该将 ** ** 中的命令更改为什么?
(我附上了一个例子的图片 - 可能有一些错误的计算,因为我在脑海中做了计算,但重点很清楚^-^)
解决方案
推荐阅读
- c# - VS2017:没有在 C# 中使用 XslCompiledTransform 调试 XSLT?
- javascript - 如何编写正则表达式以接受无限数?
- angular - 我可以将角度组件附加到 SVG
- latex - 将 bib2gls 与 rmarkdown 一起使用无法呈现词汇表
- python - 在 linux 上安装和运行 pypy
- git - 忽略远程提交,只推送本地
- python - 如何从 python 中的 CSV 文件中删除空白行?
- python - 是否可以使用 itertools.permutations() 实时打印排列?
- javascript - jQuery 无法正确识别 CSS 动画结束事件何时触发
- sql - 有语句后对输出数据进行分组