Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,971 questions

51,913 answers

573 users

How to find the sum of diagonals of a matrix in Rust

1 Answer

0 votes
#![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

*/

 



answered Jun 19, 2023 by avibootz

Related questions

1 answer 121 views
1 answer 70 views
1 answer 75 views
1 answer 65 views
1 answer 75 views
2 answers 111 views
...