Bird
Raised Fist0
DSA Rustprogramming~10 mins

Array Declaration and Initialization in DSA Rust - Interactive Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to declare an array of 5 integers initialized to zero.

DSA Rust
let arr: [i32; 5] = [[1]; 5];
Drag options to blanks, or click blank then click option'
A-1
B1
C5
D0
Attempts:
3 left
💡 Hint
Common Mistakes
Using a single value without the semicolon and size, like [0]
Using the wrong value like 1 or 5 instead of 0
2fill in blank
medium

Complete the code to declare an array of 3 strings with specific values.

DSA Rust
let fruits: [&str; 3] = ["Apple", [1], "Cherry"];
Drag options to blanks, or click blank then click option'
A"Grape"
B"Banana"
C"Orange"
D"Mango"
Attempts:
3 left
💡 Hint
Common Mistakes
Using single quotes instead of double quotes for strings
Choosing a fruit not in the list
3fill in blank
hard

Fix the error in the array declaration to specify the correct type and size.

DSA Rust
let numbers = [1, 2, 3, 4, [1]];
Drag options to blanks, or click blank then click option'
A7
B6
C5
D8
Attempts:
3 left
💡 Hint
Common Mistakes
Using a number outside the sequence
Forgetting to specify the array size explicitly if needed
4fill in blank
hard

Fill both blanks to declare a mutable array of 4 floats initialized to 0.0.

DSA Rust
let [1] arr: [[2]; 4] = [0.0; 4];
Drag options to blanks, or click blank then click option'
Amut
Bf64
Ci32
Dconst
Attempts:
3 left
💡 Hint
Common Mistakes
Using const instead of mut
Using integer type i32 instead of float type
5fill in blank
hard

Fill all three blanks to create an array of characters and print the third element.

DSA Rust
let letters: [[1]; 4] = ['a', 'b', 'c', 'd'];
println!("{}", letters[[2]]); // prints [3]
Drag options to blanks, or click blank then click option'
Achar
B2
Cc
Dusize
Attempts:
3 left
💡 Hint
Common Mistakes
Using wrong type like usize for array elements
Using index 3 instead of 2 for the third element
Printing the wrong character

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