ExercĂcio: Matrizes Aninhadas
Matrizes podem conter outras matrizes:
#![allow(unused)] fn main() { let array = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]; }
Qual Ă© o tipo desta variĂĄvel?
Use uma matriz como a acima para escrever uma função transpose
que transporĂĄ uma matriz (transformar linhas em colunas):
Copie o código abaixo para https://play.rust-lang.org/ e implemente as funçÔes: Esta função opera apenas em matrizes 3x3.
// TODO: remova isto quando vocĂȘ terminar sua implementação. #![allow(unused_variables, dead_code)] fn transpose(matrix: [[i32; 3]; 3]) -> [[i32; 3]; 3] { unimplemented!() } #[test] fn test_transpose() { let matrix = [ [101, 102, 103], // [201, 202, 203], [301, 302, 303], ]; let transposed = transpose(matrix); assert_eq!( transposed, [ [101, 201, 301], // [102, 202, 302], [103, 203, 303], ] ); } fn main() { let matrix = [ [101, 102, 103], // <-- o comentĂĄrio faz com que o rustfmt adicione uma nova linha [201, 202, 203], [301, 302, 303], ]; println!("matriz: {:#?}", matrix); let transposed = transpose(matrix); println!("transposta: {:#?}", transposed); }