46 lines
1012 B
Rust
46 lines
1012 B
Rust
// TODO: remove this when you're done with your implementation.
|
|
#![allow(unused_variables, dead_code)]
|
|
|
|
fn transpose(matrix: [[i32; 3]; 3]) -> [[i32; 3]; 3] {
|
|
/*
|
|
[[matrix[0][0],matrix[1][0],matrix[2][0]],
|
|
[matrix[0][1],matrix[1][1],matrix[2][1]],
|
|
[matrix[0][2],matrix[1][2],matrix[2][2]]]
|
|
*/
|
|
let mut temp: [[i32; 3]; 3] = [0; 3]; 3]
|
|
for row in 0..3 { // has additional bounds checks
|
|
// for row in matrix {
|
|
// println :
|
|
// }
|
|
for col in 0..3 {
|
|
transposed[col][row] = matrix[row][col];
|
|
}
|
|
}
|
|
transposed
|
|
}
|
|
|
|
fn pretty_print(matrix: &[[i32; 3]; 3]) {
|
|
for x in 0..3 {
|
|
print!("[");
|
|
for y in 0..3 {
|
|
print!("{} ", &matrix[x][y]);
|
|
}
|
|
print!("]\n");
|
|
}
|
|
}
|
|
|
|
fn main() {
|
|
let matrix = [
|
|
[101, 102, 103], // <-- the comment makes rustfmt add a newline
|
|
[201, 202, 203],
|
|
[301, 302, 303],
|
|
];
|
|
|
|
println!("matrix:");
|
|
pretty_print(&matrix);
|
|
|
|
let transposed = transpose(matrix);
|
|
println!("transposed:");
|
|
pretty_print(&transposed);
|
|
}
|