How to fill a matrix with 1 and 0 in random locations with Rust

1 Answer

0 votes
use rand::Rng;

const ROWS: usize = 5;
const COLS: usize = 4;

fn fill_matrix_with_random_0_and_1(matrix: &mut [[i32; COLS]; ROWS]) {
    let mut rng = rand::thread_rng();
    
    for i in 0..ROWS {
        for j in 0..COLS {
            matrix[i][j] = rng.gen_range(0..2); // Generates either 0 or 1
        }
    }
}

fn print_matrix(matrix: &[[i32; COLS]; ROWS]) {
    for i in 0..ROWS {
        for j in 0..COLS {
            print!("{} ", matrix[i][j]);
        }
        println!();
    }
}

fn main() {
    let mut matrix = [[0; COLS]; ROWS];

    fill_matrix_with_random_0_and_1(&mut matrix);
    
    print_matrix(&matrix);
}


  
/*
run:
  
1 1 0 1 
0 0 0 1 
0 0 1 1 
0 0 0 0 
0 1 0 1 
 
*/

 



answered Jan 26, 2025 by avibootz

Related questions

1 answer 84 views
1 answer 99 views
1 answer 90 views
1 answer 86 views
1 answer 76 views
...