How to create and set values to a 3d vector in Rust

1 Answer

0 votes
fn initialize_vector(vec3d: &mut Vec<Vec<Vec<i32>>>, x: usize, y: usize, z: usize) {
    for i in 0..x {
        for j in 0..y {
            for k in 0..z {
                vec3d[i][j][k] = (i + j + k) as i32; // Initialization
            }
        }
    }
}

fn print_vector(vec3d: &Vec<Vec<Vec<i32>>>, x: usize, y: usize, z: usize) {
    for i in 0..x {
        for j in 0..y {
            for k in 0..z {
                print!("{} ", vec3d[i][j][k]);
            }
            println!();
        }
    }
}

fn main() {
    let x = 2;
    let y = 3;
    let z = 4;

    // Create a 3D vector dynamically
    let mut vec3d = vec![vec![vec![0; z]; y]; x];

    initialize_vector(&mut vec3d, x, y, z);
    print_vector(&vec3d, x, y, z);
}


/*
run:

0 1 2 3 
1 2 3 4 
2 3 4 5 
1 2 3 4 
2 3 4 5 
3 4 5 6 

*/

 



answered Apr 22, 2025 by avibootz
...