📅  最后修改于: 2023-12-03 15:06:23.471000             🧑  作者: Mango
本文将介绍如何用 C++ 编写一个交换矩阵对角线的程序。 该程序通过输入一个矩阵,然后交换该矩阵的对角线元素,最后输出交换后的矩阵。
该程序的算法实现非常简单,可以通过以下步骤来实现:
程序的代码如下:
#include <iostream>
#include <vector>
using namespace std;
void swapDiagonalElements(vector<vector<int>> &matrix) {
int n = matrix.size();
for (int i = 0; i < n; i++) {
int temp = matrix[i][i];
matrix[i][i] = matrix[i][n-i-1];
matrix[i][n-i-1] = temp;
}
}
int main() {
int n;
cout << "请输入矩阵的大小:";
cin >> n;
vector<vector<int>> matrix(n, vector<int>(n, 0));
cout << "请输入矩阵的元素:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
swapDiagonalElements(matrix);
cout << "交换后的矩阵为:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << " ";
}
cout << "\n";
}
return 0;
}
下面是代码的逐行分解:
#include <iostream>
#include <vector>
using namespace std;
首先引入必要的头文件和命名空间。
void swapDiagonalElements(vector<vector<int>> &matrix) {
int n = matrix.size();
for (int i = 0; i < n; i++) {
int temp = matrix[i][i];
matrix[i][i] = matrix[i][n-i-1];
matrix[i][n-i-1] = temp;
}
}
定义一个函数 swapDiagonalElements()
,该函数用于交换矩阵的对角线元素。
int main() {
int n;
cout << "请输入矩阵的大小:";
cin >> n;
定义程序的主函数 main()
,首先询问用户输入矩阵的大小。
vector<vector<int>> matrix(n, vector<int>(n, 0));
cout << "请输入矩阵的元素:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cin >> matrix[i][j];
}
}
定义一个二维数组 matrix
,用于存储矩阵的元素。程序通过两层循环,让用户输入矩阵的元素。
swapDiagonalElements(matrix);
cout << "交换后的矩阵为:\n";
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << matrix[i][j] << " ";
}
cout << "\n";
}
return 0;
}
程序调用 swapDiagonalElements()
函数,对矩阵的对角线元素进行交换。最后程序输出交换后的矩阵。
本文介绍了如何用 C++ 编写一个交换矩阵对角线的程序。程序的思路非常简单,通过交换矩阵中对角线元素的位置,实现了对矩阵的对角线的交换。