Bird
Raised Fist0
DSA Rustprogramming~20 mins

Array Declaration and Initialization in DSA Rust - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Array Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of this Rust array initialization?
Consider the following Rust code snippet. What will be printed after execution?
DSA Rust
fn main() {
    let arr = [5; 4];
    for i in 0..arr.len() {
        print!("{} ", arr[i]);
    }
}
ACompilation error
B5 5 5 5
C5 4 3 2
D0 0 0 0
Attempts:
2 left
💡 Hint
The syntax [value; count] creates an array with 'count' elements, each initialized to 'value'.
❓ Predict Output
intermediate
2:00remaining
What is the output after modifying an array element?
What will be printed by this Rust program?
DSA Rust
fn main() {
    let mut arr = [1, 2, 3, 4];
    arr[2] = 10;
    for val in arr.iter() {
        print!("{} ", val);
    }
}
A1 2 10 4
B1 2 3 4
C10 2 3 4
DRuntime error
Attempts:
2 left
💡 Hint
Arrays declared with 'mut' can have their elements changed.
❓ Predict Output
advanced
2:00remaining
What error does this Rust code produce?
What error will this Rust code cause when compiled?
DSA Rust
fn main() {
    let arr = [1, 2, 3];
    let x = arr[3];
    println!("{}", x);
}
AIndex out of bounds panic at runtime
BCompilation error: index out of range
CPrints 3
DPrints 0
Attempts:
2 left
💡 Hint
Array indices start at 0 and go up to length-1.
🧠 Conceptual
advanced
1:00remaining
How many elements does this Rust array have?
Given the declaration: let arr = [0; 7]; How many elements are in arr?
A1
B0
C7
DCompilation error
Attempts:
2 left
💡 Hint
The syntax [value; count] creates an array with 'count' elements.
❓ Predict Output
expert
2:30remaining
What is the output of this Rust array slice and iteration?
What will this Rust program print?
DSA Rust
fn main() {
    let arr = [2, 4, 6, 8, 10];
    let slice = &arr[1..4];
    for val in slice.iter() {
        print!("{} ", val);
    }
}
ACompilation error
B2 4 6 8 10
C6 8 10
D4 6 8
Attempts:
2 left
💡 Hint
Slices use start index inclusive and end index exclusive.

Practice

(1/5)
1. Which of the following is the correct way to declare an array of 5 integers initialized to zero in Rust?
easy
A. let arr = [5; 0];
B. let arr: [i32; 5] = [0; 5];
C. let arr: [i32] = [0; 5];
D. let arr = [0, 5];

Solution

  1. Step 1: Understand Rust array syntax

    Rust arrays require a fixed size and type, declared as [type; size].
  2. Step 2: Check initialization correctness

    [0; 5] means 5 elements all set to 0, which matches the declaration.
  3. Final Answer:

    let arr: [i32; 5] = [0; 5]; -> Option B
  4. Quick Check:

    Correct Rust array declaration = let arr: [i32; 5] = [0; 5]; [OK]
Hint: Use [value; size] to initialize arrays quickly [OK]
Common Mistakes:
  • Missing size in array type declaration
  • Using wrong syntax like [0, 5] for repeated values
  • Declaring array without fixed size
2. What is the correct syntax to declare a mutable array of 3 floating-point numbers initialized to 1.0 in Rust?
easy
A. let mut arr: [f64; 3] = [1.0; 3];
B. let arr mut: [f64; 3] = [1.0; 3];
C. mut let arr: [f64; 3] = [1.0; 3];
D. let arr: mut [f64; 3] = [1.0; 3];

Solution

  1. Step 1: Identify mutable variable syntax in Rust

    Mutable variables use 'let mut' before the variable name.
  2. Step 2: Confirm array declaration and initialization

    Array type is [f64; 3] and initialized with [1.0; 3], which is correct.
  3. Final Answer:

    let mut arr: [f64; 3] = [1.0; 3]; -> Option A
  4. Quick Check:

    Mutable array syntax = let mut arr: [f64; 3] = [1.0; 3]; [OK]
Hint: Place 'mut' right after 'let' for mutable arrays [OK]
Common Mistakes:
  • Placing 'mut' after variable name
  • Using 'mut let' instead of 'let mut'
  • Incorrect array type syntax
3. What will be the output of the following Rust code?
let arr = [2; 4];
println!("{:?}", arr);
medium
A. [2; 4]
B. [4, 4, 4, 4]
C. [2, 2, 2, 2]
D. Compilation error

Solution

  1. Step 1: Understand array initialization [2; 4]

    This creates an array with 4 elements, each set to 2.
  2. Step 2: Print array with debug format

    Using {:?} prints the array elements as a list.
  3. Final Answer:

    [2, 2, 2, 2] -> Option C
  4. Quick Check:

    Array with repeated values prints as list [OK]
Hint: Remember [value; size] repeats value size times [OK]
Common Mistakes:
  • Confusing size and value positions
  • Expecting syntax [2;4] to print literally
  • Assuming compilation error due to syntax
4. Identify the error in the following Rust code snippet:
let arr: [i32; 3] = [1, 2];
medium
A. Array size mismatch error
B. Type mismatch error
C. Mutable variable required
D. No error, code is correct

Solution

  1. Step 1: Check declared array size

    Array is declared with size 3 but initialized with only 2 elements.
  2. Step 2: Understand Rust array size rules

    Rust requires the number of elements to match the declared size exactly.
  3. Final Answer:

    Array size mismatch error -> Option A
  4. Quick Check:

    Declared size must match initializer length [OK]
Hint: Array size and initializer length must be equal [OK]
Common Mistakes:
  • Ignoring size mismatch
  • Assuming Rust allows shorter initializers
  • Confusing type mismatch with size error
5. You want to create a 2D array (matrix) of size 3x3 filled with the value 7 in Rust. Which code correctly declares and initializes this array?
hard
A. let matrix: [i32; 3][3] = [[7; 3]; 3];
B. let matrix: [[i32; 3]; 3] = [7; 9];
C. let matrix: [i32; 9] = [[7; 3]; 3];
D. let matrix: [[i32; 3]; 3] = [[7; 3]; 3];

Solution

  1. Step 1: Understand 2D array type declaration

    A 3x3 array of i32 is declared as [[i32; 3]; 3], meaning 3 arrays each of size 3.
  2. Step 2: Check initialization syntax

    [[7; 3]; 3] creates 3 arrays each filled with 3 sevens, forming a 3x3 matrix.
  3. Final Answer:

    let matrix: [[i32; 3]; 3] = [[7; 3]; 3]; -> Option D
  4. Quick Check:

    Nested arrays use [[type; cols]; rows] [OK]
Hint: Use nested [value; size] for multi-dimensional arrays [OK]
Common Mistakes:
  • Incorrect type syntax like [i32; 3][3]
  • Initializing flat array instead of nested
  • Mismatch between declared size and initializer
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard