C++程序 交换矩阵的对角线
简介
本篇文章介绍了如何使用C++语言编写一个程序来交换矩阵的对角线。在这里,我们会通过示例代码来详细介绍交换对角线的思路和具体实现方式。代码运行环境为Windows10系统,使用VSCode作为文本编辑器。
程序思路
在本程序中,我们需要构造一个二维数组来表示矩阵,并对其进行处理。交换矩阵的对角线即将第i行第i列和第n-i+1行第n-i+1列的元素互换。具体实现思路如下:
- 定义一个整型的二维数组matrix。
- 通过嵌套循环将matrix中的各个元素输入。
- 循环交换matrix的对角线元素,即matrix[i][i]与matrix[n-i+1][n-i+1]互换。
示例代码
#include <iostream>
using namespace std;
int main()
{
int n;
cout<<"请输入矩阵维数n:\n";
cin>>n;
int matrix[n][n]; //定一个一个n行n列的矩阵
for (int i=0; i<n; i++) //输入二维数组matrix
{
for (int j=0; j<n; j++)
{
cout<<"请输入第"<<i+1<<"行第"<<j+1<<"列的数字:\n";
cin>>matrix[i][j];
}
}
for (int i=0; i<n; i++) //将对角线上的元素进行互换
{
int temp;
temp = matrix[i][i];
matrix[i][i] = matrix[n-i-1][n-i-1];
matrix[n-i-1][n-i-1] = temp;
}
for (int i=0; i<n; i++) //输出交换后的矩阵
{
for (int j=0; j<n; j++)
{
cout<<matrix[i][j]<<" ";
}
cout<<endl;
}
return 0;
}
运行结果
假设我们输入的矩阵为:
3 5 7
2 4 6
8 1 9
则程序的输出结果为:
请输入矩阵维数n:
3
请输入第1行第1列的数字:
3
请输入第1行第2列的数字:
5
请输入第1行第3列的数字:
7
请输入第2行第1列的数字:
2
请输入第2行第2列的数字:
4
请输入第2行第3列的数字:
6
请输入第3行第1列的数字:
8
请输入第3行第2列的数字:
1
请输入第3行第3列的数字:
9
9 5 8
2 4 6
7 1 3
结果表明程序正确地交换了矩阵的对角线。
结论
通过这个简单的例子,我们学习了如何使用C++编写程序来交换矩阵的对角线。程序的主要思路是定义一个二维数组,通过循环将其中的元素输入,然后再对数组中的对角线元素进行交换。因此,通过对这个程序的认真学习,我们可以更好地掌握C++ 编程语言。