写一个函数,将一个3*3的整型矩阵转置。用c++
时间: 2023-06-14 18:06:04 浏览: 45
以下是实现代码:
```c++
void transpose(int mat[3][3]) {
for(int i=0; i<3; i++) {
for(int j=i+1; j<3; j++) {
int temp = mat[i][j];
mat[i][j] = mat[j][i];
mat[j][i] = temp;
}
}
}
```
使用方法:
```c++
int main() {
int mat[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
transpose(mat);
for(int i=0; i<3; i++) {
for(int j=0; j<3; j++) {
cout << mat[i][j] << " ";
}
cout << endl;
}
return 0;
}
```
输出结果为:
```
1 4 7
2 5 8
3 6 9
```
相关问题
c++写一函数,将一个3*3的整形矩阵转置
可以使用C++编写一个函数,将一个3*3的整形矩阵转置。
函数代码如下:
```c++
void transpose(int matrix[3][3])
{
for (int i = 0; i < 3; i++)
{
for (int j = i+1; j < 3; j++)
{
int temp = matrix[i][j];
matrix[i][j] = matrix[j][i];
matrix[j][i] = temp;
}
}
}
```
使用该函数,可以将一个3*3的整形矩阵转置。例如,假设有以下矩阵:
```c++
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
}
```
调用该函数
```c++
transpose(matrix);
```
转置后的结果为:
```c++
{
{1, 4, 7},
{2, 5, 8},
{3, 6, 9}
}
```
写一个函数,将一个3*3的整型矩阵转置。使用c++
以下是一个示例代码:
```c++
#include <iostream>
void transpose(int matrix[3][3]) {
for (int i = 0; i < 3; i++) {
for (int j = i+1; j < 3; j++) {
std::swap(matrix[i][j], matrix[j][i]);
}
}
}
int main() {
int matrix[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
std::cout << "Original matrix:\n";
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << "\n";
}
transpose(matrix);
std::cout << "Transposed matrix:\n";
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
std::cout << matrix[i][j] << " ";
}
std::cout << "\n";
}
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的矩阵,我们可以通过两个循环(一个嵌套在另一个内部)来遍历矩阵的所有元素。对于每个元素,我们交换它和对应的元素(即行列互换)。最后,我们在 `main` 函数中声明一个3x3的矩阵并调用 `transpose` 函数。