Transpose of given matrix

Write a program to find the transpose of a given matrix. 

Example 1:

Input:arr[3][3]={{6,2,3},{4,3,2},{4,5,7}}
Output:arr[3][3]={{6,4,4},{2,3,5},{3,2,7}}

Approach

C

#include <stdio.h>
//Function to find the transpose of matrix
void transposeMatix(int matrixA[][3], int nint m)
{
    int matrixB[m][n];
    for (int i = 0i < ni++)
    {
        for (int j = 0j < mj++)
            matrixB[j][i] = matrixA[i][j];
    }
    for (int i = 0i < mi++)
    {
        for (int j = 0j < nj++)
        {
            printf("%d "matrixB[i][j]);
        }
        printf("\n");
    }
}
int main()
{
    //matrix input
    int matrxixA[][3] = {{623}, {432}, {457}};
    int n = 3m = 3;
    transposeMatix(matrxixAnm);
}
//Time Complexity: O(n^2)
//Space Complexity: O(n^2)


Java

public class MatrixTranspose {
    public static void main(String[] args) {
        // matrix input
        int matrxixA[][] = { { 623 }, 
                432 }, { 457 } };
        // row, col
        int n = 3, m = 3;
        // transpose matrix
        int matrixB[][] = transposeMatix(matrxixA, n, m);
        // print after transpose
        printMatrix(matrixB);
    }

    private static void printMatrix(int[][] matrixA) {
        for (int i = 0; i < matrixA.length; i++) {
            for (int j = 0; j < matrixA.length; j++) {
                System.out.print(matrixA[i][j] + " ");
            }
            System.out.println();
        }

    }

    private static int[][] transposeMatix(int[][] matrxixA,
                     int nint m) {
        // create new matrix of m,n
        int matrixB[][] = new int[m][n];
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < m; j++) {
                // put value in new matrix
                matrixB[j][i] = matrxixA[i][j];
            }
        }
        return matrixB;
    }
}

//Time Complexity: O(n^2)
//Space Complexity: O(n^2)

C++

#include <bits/stdc++.h>
using namespace std;
//Function to find the transpose of matrix
void transposeMatix(int matrixA[][3],int n,int m)
{
   int matrixB[m][n];
   for(int i=0;i<n;i++)
     {
         for(int j=0;j<m;j++)
             matrixB[j][i]=matrixA[i][j];
     } 
    for(int i=0;i<m;i++)
        {
            for(int j=0;j<n;j++)
               cout<<matrixB[i][j]<<" ";
            cout<<"\n";
        }
}
int main()
{
    //matrix input
    int matrxixA[][3]={{6,2,3},{4,3,2},{4,5,7}};
    int n=3,m=3;
    transposeMatix(matrxixA,n,m);
}
//Time Complexity: O(n^2)
//Space Complexity: O(n^2)


No comments:

Post a Comment