c++矩阵转置求解答

img


c++矩阵转置求解答,编写并测试33矩阵转置函数,使用数组保存33矩阵,需要学习使用数组对象。求绿色区域内的答案。

下面这个是补充这两个函数里面的内容,你可以把我这个多余的这个transpose函数写到main里面,我这是单独提取出来了一下。你可以参考一下:

#include <iostream>
using namespace std;

void swap(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}

void transpose(int arr[3][3])
{
    for(int i=0; i<3; i++){
        for(int j=i+1; j<3; j++){
            swap(arr[i][j], arr[j][i]);
        }
    }
}

int main()
{
    int arr[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};
    cout << "Original Matrix:" << endl;
    for(int i=0; i<3; i++){
        for(int j=0; j<3; j++){
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    transpose(arr);
    cout << "Transposed Matrix:" << endl;
    for(int i=0; i<3; i++){
        for(int j=0; j<3; j++){
            cout << arr[i][j] << " ";
        }
        cout << endl;
    }
    return 0;
}

如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

可以将输入数据存入二维数组a[i][j],正常输出for(i)嵌套for(j),转置输出for(j)嵌套for(i),输出a[i][j]。
也可以使用一维数组,用取模的方式计算数组下标获取元素进行输出。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^