c++实现从输入获得两个数字,并以对其实现分别*20的计算,以计算后的数据为一个二维数组的列数和行数,再获得一个数字,以该数字乘100加上前述二维数组组成一个三维数组
时间: 2024-09-12 19:12:16 浏览: 56
在C++中,我们可以使用标准模板库(STL)来实现这个功能。首先,我们需要从用户那里获取输入,然后做相应的计算,最后构建三维数组。下面是一个示例:
```cpp
#include <iostream>
#include <vector>
#include <array>
// 获取用户输入的两个数字,并计算它们乘以20
std::pair<int, int> getNumbersAndMultiply(int multiplier) {
int num1, num2;
std::cout << "请输入两个数字:";
std::cin >> num1 >> num2;
return std::make_pair(num1 * multiplier, num2 * multiplier);
}
// 将两个乘法结果作为二维数组的列和行数
std::vector<std::vector<int>> createMatrixFromNumbers(const std::pair<int, int>& numbers) {
int rows = numbers.first;
int cols = numbers.second;
std::vector<std::vector<int>> matrix(cols, std::vector<int>(rows));
return matrix;
}
// 构建三维数组,包括原始二维数组和额外的数字
std::array<std::array<std::array<int, 2>, 2>, int> buildThreeDimensionalArray(int additionalNumber, const std::vector<std::vector<int>>& matrix) {
int threeDimSize = additionalNumber * 100;
std::array<std::array<std::array<int, 2>, 2>, int> threeDMatrix(threeDimSize, std::array<std::array<int, 2>, 2>());
for (size_t i = 0; i < matrix.size(); ++i) {
for (size_t j = 0; j < matrix[i].size(); ++j) {
threeDMatrix[i][j][0] = matrix[i][j];
threeDMatrix[i][j][1] = additionalNumber * 100;
}
}
return threeDMatrix;
}
int main() {
int multiplier = 20;
std::pair<int, int> numbers = getNumbersAndMultiply(multiplier);
std::vector<std::vector<int>> matrix = createMatrixFromNumbers(numbers);
int additionalNumber;
std::cout << "请输入一个数字以构建三维数组:";
std::cin >> additionalNumber;
std::array<std::array<std::array<int, 2>, 2>, int> threeDArray = buildThreeDimensionalArray(additionalNumber, matrix);
std::cout << "三维数组:\n";
for (const auto& arr2d : threeDArray) {
for (const auto& pair : arr2d) {
std::cout << "[" << pair[0] << "," << pair[1] << "]" << " ";
}
std::cout << "\n";
}
return 0;
}
```
当您运行此程序时,它会请求用户输入、计算和构建最终的三维数组。
阅读全文
相关推荐


















