gpt4 book ai didi

c++ - 如何创建二维矩阵C++的水平镜像逆?

转载 作者:行者123 更新时间:2023-12-02 10:03:28 25 4
gpt4 key购买 nike

例如,如果输入为:

21 26 31 36
22 27 32 37
23 28 33 38
24 29 34 39
25 30 35 40

输出应为:
25 30 35 40
24 29 34 39
23 28 33 38
22 27 32 37
21 26 31 36

所有的行被交换直到中间的行。

第一行应与最后一行交换,第二行应与最后一行之前交换,依此类推...

这是我的代码了:
int A[100][100] = { 0 };
int n, m;
std::cin >> n >> m;


for (int k = 0, j = n - 1; k < j; k++, --j)
std::swap(A[k], A[j]);
number of rows(n), columns(m), for n, m < 100它向我显示了与以前相同的矩阵。

最佳答案

您可以使用std::reverse交换二维数组:

#include <algorithm>
#include <iostream>

int main()
{
int A[100][100] = { {21, 26, 31, 36},
{22, 27, 32, 37},
{23, 28, 33, 38},
{24, 29, 34, 39},
{25, 30, 35, 40} };

std::reverse(&A[0], &A[5]); // Starting and ending ranges are &A[0] and &A[5]

// Output results
for (int i = 0; i < 5; ++i)
{
for (int j = 0; j < 4; ++j)
std::cout << A[i][j] << " ";
std::cout << "\n";
}
}

输出:
25 30 35 40 
24 29 34 39
23 28 33 38
22 27 32 37
21 26 31 36

关于c++ - 如何创建二维矩阵C++的水平镜像逆?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61383795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com