21xrx.com
2024-11-25 01:11:25 Monday
登录
文章检索 我的文章 写文章
C++实现二维数组转置:方法及代码
2023-07-03 20:55:41 深夜i     --     --
C++ 二维数组 转置 方法 代码

在C++中,二维数组转置是一个常见的操作。它可以将矩阵进行行列互换,使得原本的行变成列,列变成行。这在一些矩阵运算和图像处理中都有很多的应用。本文将介绍如何使用C++实现二维数组的转置,并提供相应的代码。

方法:

实现二维数组的转置可以采用两种方法,一种是使用一个新的数组来存储转置后的结果,另一种则是直接在原始数组上进行转置。

方法一:使用一个新的数组来存储转置后的结果

在这种方法中,我们需要创建一个新的数组来存储转置后的结果。具体步骤如下:

1.定义一个二维数组,用于存储原始数据。

2.定义一个新的二维数组,用于存储转置后的数据。需要保证新数组的行和列与原始数组的列和行分别相等。

3.使用两层for循环遍历原始数组,并将元素逐个赋值到新数组中。

4.返回新数组即可。

代码如下:


#include <iostream>

using namespace std;

int main()

{

  int arr[3][4] = { 2, 6, 10}; //定义原始数组

  int arr_trans[4][3]; //定义新数组

  for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 4; j++) {

      arr_trans[j][i] = arr[i][j]; //赋值

    }

  }

  //输出新数组

  for (int i = 0; i < 4; i++) {

    for (int j = 0; j < 3; j++) {

      cout << arr_trans[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

方法二:在原始数组上进行转置

在这种方法中,我们直接在原始数组上进行转置操作,不需要创建一个新的数组。具体步骤如下:

1.定义一个二维数组,用于存储原始数据。

2.使用两层for循环遍历数组,并将每行的元素与每列的对应元素进行交换。

3.返回原始数组即可。

代码如下:


#include <iostream>

using namespace std;

int main()

{

  int arr[3][4] = { 3, 7, 11}; //定义原始数组

  //转置操作

  for (int i = 0; i < 3; i++) {

    for (int j = i+1; j < 4; j++) {

      swap(arr[i][j], arr[j][i]); //交换

    }

  }

  //输出原始数组

  for (int i = 0; i < 3; i++) {

    for (int j = 0; j < 4; j++) {

      cout << arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

以上就是两种实现二维数组的转置方法及相应的代码,可以根据实际需要选择适合自己的方法。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复