Swift Program to Transpose a Matrix

1. Introduction

In the realm of linear algebra and matrices, the transpose of a matrix is a new matrix obtained by exchanging the rows and columns. In this guide, we'll delve into the Swift code to transpose a matrix.

2. Program Overview

Our strategy will be:

1. Define a matrix.

2. Use a function to transpose the matrix.

3. Print the transposed matrix.

3. Code Program

// Function to transpose a matrix
func transposeMatrix(_ matrix: [[Int]]) -> [[Int]] {
    let rowCount = matrix.count
    let colCount = matrix[0].count
    var transposed = [[Int]](repeating: [Int](repeating: 0, count: rowCount), count: colCount)

    for i in 0..<rowCount {
        for j in 0..<colCount {
            transposed[j][i] = matrix[i][j]

    return transposed

// Defining a matrix for testing
let matrix = [    [1, 2, 3],
    [4, 5, 6]

// Transposing the matrix
let transposedMatrix = transposeMatrix(matrix)
print("Transposed Matrix:")
for row in transposedMatrix {


Transposed Matrix:
[1, 4]
[2, 5]
[3, 6]

4. Step By Step Explanation

1. The function transposeMatrix(_:) is set up to transpose a matrix. It returns a 2D integer array.

2. Within the function:

- We first determine the number of rows and columns in the given matrix.- The transposed matrix is initialized with dimensions flipped compared to the input matrix and filled with zeros.- Nested for loops traverse through the matrix. The elements of the matrix are copied to their transposed positions in the transposed matrix.

3. To test the function, we specify a matrix named matrix.

4. We then call the transposeMatrix(_:) function, and afterward, print the transposed matrix.

This method allows for an intuitive and efficient approach to matrix transposition in Swift.