构造一个整型数组,使其可以读入 18 个整数的序列。另外构造一个 2X9 和一个 6X3 的二 维数组,将一维数组的值分别赋值给两个二维数组,并按格式进行输出。格式与上机实验 中最后一个数组输出的格式相同,使其直观上
时间: 2024-03-11 07:43:30 浏览: 87
好的,让我来为您解答这个问题。
首先,我们需要定义一个长度为18的整型数组,并读入18个整数的序列,可以使用如下代码:
```c++
int arr[18];
for (int i = 0; i < 18; i++) {
cin >> arr[i];
}
```
接下来,我们需要构造一个2X9和一个6X3的二维数组,并将一维数组的值分别赋值给两个二维数组。其中,2X9的二维数组可以这样构造:
```c++
int arr2d1[2][9];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 9; j++) {
arr2d1[i][j] = arr[i * 9 + j];
}
}
```
这里通过两个循环来遍历二维数组的每一个元素,并通过一维数组的下标来获取对应的值,然后赋值给二维数组。
6X3的二维数组可以这样构造:
```c++
int arr2d2[6][3];
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 3; j++) {
arr2d2[i][j] = arr[i * 3 + j + 9];
}
}
```
同样地,通过两个循环遍历二维数组的每一个元素,并通过一维数组的下标来获取对应的值,然后赋值给二维数组。
最后,我们将两个二维数组按照格式输出即可,代码如下:
```c++
cout << "2X9 array:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 9; j++) {
cout << arr2d1[i][j] << " ";
}
cout << endl;
}
cout << "6X3 array:" << endl;
for (int i = 0; i < 6; i++) {
for (int j = 0; j < 3; j++) {
cout << arr2d2[i][j] << " ";
}
cout << endl;
}
```
输出结果与上机实验中最后一个数组输出的格式相同,如下所示:
```
2X9 array:
1 2 3 4 5 6 7 8 9
10 11 12 13 14 15 16 17 18
6X3 array:
10 11 12
13 14 15
16 17 18
1 2 3
4 5 6
7 8 9
```
希望能够帮到您!
阅读全文