#![allow(non_snake_case)]
use std::vec;
fn sumDiagonals(matrix : &mut Vec<Vec<i32>>) -> i32 {
let rows = matrix.len();
let cols = matrix[0].len();
let mut sumDiagonalLeft = 0;
let mut sumDiagonalRigth = 0;
{
let mut i = 0;
while i < rows {
sumDiagonalLeft += matrix[i][i];
sumDiagonalRigth += matrix[i][cols - i - 1];
i += 1;
}
}
println!("sumDiagonalLeft = {}", sumDiagonalLeft);
println!("sumDiagonalRigth = {}", sumDiagonalRigth);
return sumDiagonalLeft + sumDiagonalRigth;
}
fn main() {
let mut matrix : Vec<Vec<i32>> = vec![ vec![1, 2, 3, 4, 0],
vec![5, 6, 100, 8, 1],
vec![2, 100, 8, 100, 3],
vec![1, 7, 100, 9, 6],
vec![9, 10, 11, 12, 13]];
// sumDiagonalLeft = (1 + 6 + 8 + 9 + 13) = 37
// sumDiagonalRigth = (0 + 8 + 8 + 7 + 9) = 32
// 37 + 32 = 69
print!("{}", sumDiagonals(&mut matrix));
}
/*
run:
sumDiagonalLeft = 37
sumDiagonalRigth = 32
69
*/