Bird
Raised Fist0
DSA Rustprogramming~15 mins

Array Declaration and Initialization in DSA Rust - Build from Scratch

Choose your learning style10 modes available
Array Declaration and Initialization
📖 Scenario: You are helping a small grocery store keep track of the number of apples sold each day for a week.
🎯 Goal: Create an array to store the number of apples sold each day, then print the array to see the sales for the week.
📋 What You'll Learn
Create an array called apples_sold with 7 elements representing daily sales
Initialize the array with these exact values: 5, 8, 6, 7, 10, 4, 9
Create a variable called days and set it to 7
Use a for loop with variable i from 0 to days - 1 to print each day's sales
Print the sales in the format: Day 1: 5 apples
💡 Why This Matters
🌍 Real World
Arrays are used to store fixed-size collections of data, like daily sales, temperatures, or scores.
💼 Career
Understanding arrays and loops is essential for software development, data analysis, and many programming tasks.
Progress0 / 4 steps
1
Create the array with daily apple sales
Create an array called apples_sold with 7 elements initialized to these exact values: 5, 8, 6, 7, 10, 4, 9
DSA Rust
Hint

Use let apples_sold = [5, 8, 6, 7, 10, 4, 9]; to create the array.

2
Add a variable for the number of days
Add a variable called days and set it to 7 to represent the number of days in the week
DSA Rust
Hint

Use let days = 7; to create the variable.

3
Loop through the array to access daily sales
Use a for loop with variable i from 0 to days - 1 to access each element in apples_sold
DSA Rust
Hint

Use for i in 0..days { } to loop through the array indices.

4
Print the daily apple sales
Inside the for loop, print the sales for each day in this exact format: Day 1: 5 apples where the day number is i + 1 and the sales is apples_sold[i]
DSA Rust
Hint

Use println!("Day {}: {} apples", i + 1, apples_sold[i]); inside the loop.

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