c++ - 迭代创建三个数组的三个数组的组合
问题描述
给定三个数组:
double unorderedArrayOfThree[3] = {6, 7, 4};
并希望用新数组的第一个和第二个位置的三个可能的数字对填充一个数组,例如:
6,7,4
7,4,6
4,6,7
我很难在 for 循环中计算出序数级数。我如何轻松遍历第一个数组来创建第二个?
int main() {
double unorderedArrayOfThree[3] = {6, 7, 4};
double newArray[3][3];
for (int i = 0; i < 3; i++) {
//? something clever here
}
return 0;
}
解决方案
像这样的东西:
int main() {
double unorderedArray[3] = {6, 7, 4};
double newArray[3][3];
for (int i = 0; i < 3; i++) {
newArray[0][i] = unorderedArray[i];
newArray[1][i] = unorderedArray[(i + 1) % 3];
newArray[2][i] = unorderedArray[(i + 2) % 3];
}
return 0;
}
这够聪明吗?
推荐阅读
- mysql - 为什么我会收到 DELETE ON 级联语法错误
- java - 在 java 中使用 mysql 进行套接字编程
- curl - 如何使用 wget 或类似工具模拟 archive.org 的“保存外链”选项?
- java - 如何从通过类加载器加载的类中调用构造函数
- java - 你如何显示 DialogPreference
- javascript - 提及如何在降价文件 (*.md) 或任何其他文本中工作?
- python-3.x - 硒:绕过访问被拒绝
- python - “user_id”列中的 Django REST POST 空值违反非空约束
- hybris - SAP Hybris 1905 - 更新 OOTB“关系”
- javascript - 如何声明一个promise变量,以便在promise得到解决之前我可以在任何地方使用它