Bird
Raised Fist0
DSA Rustprogramming~10 mins

Array Access and Update at Index 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 access the element at index 2 in the array.

DSA Rust
let arr = [10, 20, 30, 40, 50];
let value = arr[[1]];
println!("{}", value);
Drag options to blanks, or click blank then click option'
A1
B3
C2
D4
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 3 or 4 which accesses wrong elements or causes out-of-bounds error.
2fill in blank
medium

Complete the code to update the element at index 1 to 100.

DSA Rust
let mut arr = [10, 20, 30, 40];
arr[[1]] = 100;
println!("{:?}", arr);
Drag options to blanks, or click blank then click option'
A0
B1
C2
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Trying to update an element at index 4 which is out of bounds.
Not declaring the array as mutable.
3fill in blank
hard

Fix the error in the code to correctly update the last element of the array.

DSA Rust
let mut arr = [5, 10, 15, 20];
arr[[1]] = 25;
println!("{:?}", arr);
Drag options to blanks, or click blank then click option'
A1
B4
C2
D3
Attempts:
3 left
💡 Hint
Common Mistakes
Using index 4 which is out of bounds.
Confusing length with last index.
4fill in blank
hard

Fill both blanks to create a new array with each element doubled from the original array.

DSA Rust
let arr = [1, 2, 3, 4];
let mut doubled = [[1]];
for i in 0..[2] {
    doubled[i] = arr[i] * 2;
}
println!("{:?}", doubled);
Drag options to blanks, or click blank then click option'
A[0; 4]
Barr.len()
C5
D[1, 2, 3, 4]
Attempts:
3 left
💡 Hint
Common Mistakes
Using a fixed number 5 for loop range causing out-of-bounds error.
Initializing doubled with the original array instead of zeros.
5fill in blank
hard

Fill all three blanks to create a function that updates the element at a given index with a new value.

DSA Rust
fn update_element(arr: &mut [i32], [1]: usize, [2]: i32) {
    arr[[3]] = [2];
}

fn main() {
    let mut numbers = [10, 20, 30];
    update_element(&mut numbers, 1, 99);
    println!("{:?}", numbers);
}
Drag options to blanks, or click blank then click option'
Aindex
Bvalue
Dval
Attempts:
3 left
💡 Hint
Common Mistakes
Using different variable names in the function body than in the parameters.
Trying to update the array without mutable reference.

Practice

(1/5)
1. What does the expression arr[2] do in Rust when arr is an array?
easy
A. Removes the element at index 2
B. Adds 2 to every element in the array
C. Accesses the element at index 2 of the array
D. Returns the length of the array

Solution

  1. Step 1: Understand array indexing

    In Rust, arrays use zero-based indexing, so arr[2] accesses the third element.
  2. Step 2: Identify the operation

    The expression retrieves the value stored at index 2 without modifying the array.
  3. Final Answer:

    Accesses the element at index 2 of the array -> Option C
  4. Quick Check:

    arr[2] means element at index 2 [OK]
Hint: Remember arrays start at index 0 in Rust [OK]
Common Mistakes:
  • Thinking indexing starts at 1
  • Confusing access with modification
  • Assuming it returns array length
2. Which of the following is the correct syntax to update the element at index 1 of a mutable array arr to 10 in Rust?
easy
A. arr[1] = 10;
B. arr(1) = 10;
C. arr{1} = 10;
D. arr->1 = 10;

Solution

  1. Step 1: Recall Rust array update syntax

    In Rust, to update an element, use square brackets with the index and assign a new value.
  2. Step 2: Check each option

    Only arr[1] = 10; uses correct square bracket indexing and assignment syntax.
  3. Final Answer:

    arr[1] = 10; -> Option A
  4. Quick Check:

    Use square brackets for indexing and assignment [OK]
Hint: Use square brackets [] for indexing and assignment [OK]
Common Mistakes:
  • Using parentheses () instead of brackets
  • Using curly braces {} for indexing
  • Using arrow operator -> incorrectly
3. What will be the output of the following Rust code?
fn main() {
    let mut arr = [5, 10, 15, 20];
    arr[2] = 25;
    println!("{:?}", arr);
}
medium
A. [5, 10, 15, 20]
B. Compilation error
C. [25, 10, 15, 20]
D. [5, 10, 25, 20]

Solution

  1. Step 1: Analyze array initialization and update

    The array arr starts as [5, 10, 15, 20]. The statement arr[2] = 25; changes the element at index 2 (third element) from 15 to 25.
  2. Step 2: Understand the print output

    The println!("{:?}", arr); prints the entire array showing the updated value.
  3. Final Answer:

    [5, 10, 25, 20] -> Option D
  4. Quick Check:

    Updated index 2 to 25, array prints updated [OK]
Hint: Remember index 2 is third element, updated value shows in print [OK]
Common Mistakes:
  • Thinking index 2 is second element
  • Assuming original array prints without update
  • Expecting compilation error due to mutability
4. Identify the error in the following Rust code snippet:
fn main() {
    let arr = [1, 2, 3];
    arr[1] = 5;
    println!("{:?}", arr);
}
medium
A. Cannot assign to element of immutable array
B. Index out of bounds error
C. Syntax error in array declaration
D. Missing semicolon after assignment

Solution

  1. Step 1: Check array mutability

    The array arr is declared without mut, so it is immutable and cannot be changed.
  2. Step 2: Identify assignment error

    The line arr[1] = 5; tries to modify an immutable array element, causing a compile-time error.
  3. Final Answer:

    Cannot assign to element of immutable array -> Option A
  4. Quick Check:

    Immutable arrays cannot be updated [OK]
Hint: Declare array with 'mut' to allow updates [OK]
Common Mistakes:
  • Ignoring mut keyword for mutability
  • Assuming index out of bounds error
  • Thinking syntax error causes failure
5. Given a mutable array arr of length 4 initialized as [2, 4, 6, 8], which code snippet correctly doubles the value at index 3 and then prints the updated array?
hard
A. arr[4] = arr[4] * 2; println!("{:?}", arr);
B. arr[3] = arr[3] * 2; println!("{:?}", arr);
C. arr[3] *= 2 println!("{:?}", arr);
D. arr[3] = arr[3] + 2; println!("{:?}", arr);

Solution

  1. Step 1: Identify correct index and operation

    Index 3 is the fourth element (value 8). Doubling means multiplying by 2, so arr[3] = arr[3] * 2; is correct.
  2. Step 2: Check syntax and print statement

    arr[3] = arr[3] * 2; println!("{:?}", arr); uses correct syntax with semicolon and prints the updated array properly.
  3. Final Answer:

    arr[3] = arr[3] * 2; println!("{:?}", arr); -> Option B
  4. Quick Check:

    Multiply element at index 3 by 2, then print [OK]
Hint: Use correct index and multiply, remember semicolons [OK]
Common Mistakes:
  • Using index 4 which is out of bounds
  • Forgetting semicolon after assignment
  • Adding 2 instead of multiplying by 2
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