演習: ネストした配列

配列には他の配列を含めることができます:

// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0

let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]];

この変数の型は何ですか?

上のような配列を使って、行列を転置する(行を列にする)関数 transpose を書いてください:

2584567⎤8⎥9⎦transpose==1473⎤6⎥9⎦123

以下のコードを https://play.rust-lang.org/ にコピーして、関数を実装してください。 この関数は 3×3 行列に対してのみ動作します。

// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0

fn transpose(matrix: [[i32; 3]; 3]) -> [[i32; 3]; 3] {
    todo!()
}

fn main() {
    let matrix = [
        [101, 102, 103], // <-- the comment makes rustfmt add a newline
        [201, 202, 203],
        [301, 302, 303],
    ];

    println!("Original:");
    for row in matrix {
        println!("{row:?}");
    }

    let transposed = transpose(matrix);

    println!("\nTransposed:");
    for row in transposed {
        println!("{row:?}");
    }
}