编写并测试3x3矩阵c++
时间: 2024-05-09 17:15:07 浏览: 22
以下是一个简单的C++程序,用于创建和测试一个3x3矩阵:
```c++
#include <iostream>
using namespace std;
int main() {
int matrix[3][3];
// 获取用户输入
cout << "请输入3x3矩阵的元素:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cin >> matrix[i][j];
}
}
// 输出矩阵
cout << "您输入的矩阵为:" << endl;
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
cout << matrix[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
在这个程序中,我们首先创建了一个3x3的整数矩阵。然后,我们提示用户输入矩阵元素,并使用一个嵌套的for循环来获取用户输入。接下来,我们使用另一个嵌套的for循环来输出矩阵。最后,我们返回0,表示程序结束。
相关问题
编写并测试3*3矩阵转置函数,使用数组保存3*3矩阵C++
以下是一个简单的C++程序,实现了3x3矩阵的转置功能:
```c++
#include<iostream>
using namespace std;
void transpose(int A[][3], int B[][3]) {
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
B[i][j] = A[j][i];
}
}
}
int main() {
int A[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int B[3][3];
transpose(A, B);
cout << "Original matrix:" << endl;
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
cout << A[i][j] << " ";
}
cout << endl;
}
cout << "Transposed matrix:" << endl;
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
cout << B[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
Original matrix:
1 2 3
4 5 6
7 8 9
Transposed matrix:
1 4 7
2 5 8
3 6 9
```
在这个程序中,我们定义了一个 `transpose` 函数,该函数接受两个3x3的整数数组 `A` 和 `B` 作为参数。在这个函数中,我们使用两个嵌套的循环来遍历矩阵 `A`,并将转置后的结果存储在矩阵 `B` 中。最后,我们在主函数中调用了 `transpose` 函数,并分别打印了原始矩阵和转置后的矩阵。
要求编写一个3x3矩阵对角线元素之和的C++程序。
以下是一个计算3x3矩阵对角线元素之和的C程序:
```c
#include <stdio.h>
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
int diagonal_sum = 0;
for (int i = 0; i < 3; i++) {
diagonal_sum += matrix[i][i]; // 计算左上到右下对角线元素之和
diagonal_sum += matrix[i][2-i]; // 计算右上到左下对角线元素之和
}
printf("对角线元素之和为:%d\n", diagonal_sum);
return 0;
}
```
程序中,我们首先定义了一个3x3的矩阵,然后利用一个for循环遍历矩阵的行和列,计算左上到右下对角线元素之和和右上到左下对角线元素之和,并将它们相加。最后,我们输出计算得到的对角线元素之和。