# Java Program to find transpose of a matrix

Transpose of a matrix is obtained by changing rows to columns and columns to rows. In other words, transpose of A[][] is obtained by changing A[i][j] to A[j][i]. For Square Matrix :

The below program finds transpose of A[][] and stores the result in B[][], we can change N for different dimension.

 `// Java Program to find  ` `// transpose of a matrix ` ` `  `class` `GFG ` `{ ` `    ``static` `final` `int` `N = ``4``; ` `     `  `    ``// This function stores transpose ` `    ``// of A[][] in B[][] ` `    ``static` `void` `transpose(``int` `A[][], ``int` `B[][]) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i = ``0``; i < N; i++) ` `            ``for` `(j = ``0``; j < N; j++) ` `                ``B[i][j] = A[j][i]; ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `A[][] = { {``1``, ``1``, ``1``, ``1``}, ` `                      ``{``2``, ``2``, ``2``, ``2``}, ` `                      ``{``3``, ``3``, ``3``, ``3``}, ` `                      ``{``4``, ``4``, ``4``, ``4``}}; ` `     `  `        ``int` `B[][] = ``new` `int``[N][N], i, j; ` `     `  `        ``transpose(A, B); ` `     `  `        ``System.out.print(``"Result matrix is \n"``); ` `        ``for` `(i = ``0``; i < N; i++) ` `        ``{ ` `            ``for` `(j = ``0``; j < N; j++) ` `            ``System.out.print(B[i][j] + ``" "``); ` `            ``System.out.print(``"\n"``); ` `        ``} ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

Output:

```Result matrix is
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
```

For Rectangular Matrix :

The below program finds transpose of A[][] and stores the result in B[][].

 `// Java Program to find  ` `// transpose of a matrix ` ` `  `class` `GFG ` `{ ` `    ``static` `final` `int` `M = ``3``; ` `    ``static` `final` `int` `N = ``4``; ` `     `  `    ``// This function stores transpose ` `    ``// of A[][] in B[][] ` `    ``static` `void` `transpose(``int` `A[][], ``int` `B[][]) ` `    ``{ ` `        ``int` `i, j; ` `        ``for` `(i = ``0``; i < N; i++) ` `            ``for` `(j = ``0``; j < M; j++) ` `                ``B[i][j] = A[j][i]; ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `A[][] = { {``1``, ``1``, ``1``, ``1``}, ` `                      ``{``2``, ``2``, ``2``, ``2``}, ` `                      ``{``3``, ``3``, ``3``, ``3``}}; ` `     `  `        ``int` `B[][] = ``new` `int``[N][M], i, j; ` `     `  `        ``transpose(A, B); ` `     `  `        ``System.out.print(``"Result matrix is \n"``); ` `        ``for` `(i = ``0``; i < N; i++) ` `        ``{ ` `            ``for` `(j = ``0``; j < M; j++) ` `            ``System.out.print(B[i][j] + ``" "``); ` `            ``System.out.print(``"\n"``); ` `        ``} ` `    ``} ` `} ` ` `  `// This code is contributed by Anant Agarwal. `

Output:

```Result matrix is
1 2 3
1 2 3
1 2 3
1 2 3
```

In-Place for Square Matrix:

 `// Java Program to find  ` `// transpose of a matrix ` ` `  `class` `GFG ` `{ ` `    ``static` `final` `int` `N = ``4``; ` `     `  `    ``// Finds transpose of A[][] in-place ` `    ``static` `void` `transpose(``int` `A[][]) ` `    ``{ ` `        ``for` `(``int` `i = ``0``; i < N; i++) ` `            ``for` `(``int` `j = i+``1``; j < N; j++) ` `            ``{ ` `                 ``int` `temp = A[i][j]; ` `                 ``A[i][j] = A[j][i]; ` `                 ``A[j][i] = temp; ` `            ``} ` `    ``} ` `     `  `    ``// Driver code ` `    ``public` `static` `void` `main (String[] args) ` `    ``{ ` `        ``int` `A[][] = { {``1``, ``1``, ``1``, ``1``}, ` `                      ``{``2``, ``2``, ``2``, ``2``}, ` `                      ``{``3``, ``3``, ``3``, ``3``}, ` `                      ``{``4``, ``4``, ``4``, ``4``}}; ` `        `  `        ``transpose(A); ` `     `  `        ``System.out.print(``"Modified matrix is \n"``); ` `        ``for` `(``int` `i = ``0``; i < N; i++) ` `        ``{ ` `            ``for` `(``int` `j = ``0``; j < N; j++) ` `            ``System.out.print(A[i][j] + ``" "``); ` `            ``System.out.print(``"\n"``); ` `        ``} ` `    ``} ` `} `

Output:

```Modified matrix is
1 2 3 4
1 2 3 4
1 2 3 4
1 2 3 4
```

Please refer complete article on Program to find transpose of a matrix for more details!

My Personal Notes arrow_drop_up
Article Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.