📖 Scenario: You have a list of daily temperatures recorded in an array. Each day, the oldest temperature reading is removed to make space for the newest reading.
🎯 Goal: Build a program that deletes the first element from an array by shifting all other elements one position to the left.
📋 What You'll Learn
Create an integer array called temps with these exact values: 30, 32, 31, 29, 35
Create an integer variable called size and set it to 5
Write a loop that shifts all elements in temps one position to the left, effectively deleting the first element
Decrease size by 1 after deletion
Print the array elements separated by spaces after deletion
💡 Why This Matters
🌍 Real World
Managing data streams where old data is removed to make space for new data, like sensor readings or logs.
💼 Career
Understanding array manipulation is fundamental for software development, embedded systems, and performance-critical applications.
Progress0 / 4 steps
1
Create the initial array
Create an integer array called temps with these exact values: 30, 32, 31, 29, 35
DSA C
Hint
Use curly braces to list the values inside the array.
2
Set the size variable
Create an integer variable called size and set it to 5
DSA C
Hint
Use int size = 5; to store the number of elements.
3
Shift elements to delete the first element
Write a for loop with variable i from 0 to size - 2 that assigns temps[i] = temps[i + 1]. Then decrease size by 1
DSA C
Hint
Use a loop to move each element one step left, then reduce the size.
4
Print the array after deletion
Use a for loop with variable i from 0 to size - 1 to print each element of temps followed by a space
DSA C
Hint
Use printf("%d ", temps[i]); inside the loop to print elements separated by spaces.
Practice
(1/5)
1. What happens to the elements of an array when you delete the first element (at the beginning)?
easy
A. All elements shift one position to the right, and the last element is removed.
B. All elements shift one position to the left, and the first element is removed.
C. The array size increases by one.
D. The array remains unchanged.
Solution
Step 1: Understand deletion at beginning
Deleting the first element means removing the element at index 0.
Step 2: Effect on remaining elements
All other elements move one position left to fill the gap.
Final Answer:
All elements shift one position to the left, and the first element is removed. -> Option B
Quick Check:
Deletion at start shifts elements left [OK]
Hint: Deleting start shifts all elements left by one [OK]
Common Mistakes:
Thinking elements shift right instead of left
Assuming array size increases
Believing array stays unchanged
2. Which of the following C code snippets correctly deletes the first element of an integer array arr of size n by shifting elements left?
easy
A. for(int i = 0; i < n; i++) { arr[i] = arr[i]; } n--;
B. for(int i = n - 1; i > 0; i--) { arr[i] = arr[i - 1]; } n++;
C. for(int i = 0; i < n - 1; i++) { arr[i] = arr[i + 1]; } n--;
D. for(int i = 1; i < n; i++) { arr[i] = arr[i - 1]; } n--;
Solution
Step 1: Identify correct loop for shifting left
The loop must start from index 0 and assign arr[i] = arr[i+1] up to n-2.
Step 2: Check array size update
After shifting, size decreases by 1 (n--).
Final Answer:
for(int i = 0; i < n - 1; i++) { arr[i] = arr[i + 1]; } n--; -> Option C
Quick Check:
Shift left from 0 to n-2, then reduce size [OK]
Hint: Shift elements left from 0 to n-2, then decrease size [OK]
Common Mistakes:
Looping backwards instead of forwards
Increasing size instead of decreasing
Incorrect loop bounds causing overwrite
3. What is the output array after deleting the first element from int arr[] = {10, 20, 30, 40, 50}; using the correct deletion method?
medium
A. [50, 40, 30, 20]
B. [10, 20, 30, 40]
C. [30, 40, 50]
D. [20, 30, 40, 50]
Solution
Step 1: Remove first element 10
Deleting first element removes 10 from the array.
Step 2: Shift remaining elements left
Elements 20, 30, 40, 50 shift left to fill index 0 to 3.
Final Answer:
[20, 30, 40, 50] -> Option D
Quick Check:
First element removed, others shifted left [OK]
Hint: After deletion, array starts from second element [OK]
Common Mistakes:
Leaving original first element in array
Removing last element instead
Reversing array order
4. Consider this code snippet for deleting the first element of an array:
for(int i = 1; i < n; i++) { arr[i-1] = arr[i]; } n--;
What is the error in this code?
medium
A. The loop correctly shifts elements; no error present.
B. The loop should start from i = 0, not 1.
C. The array size should be increased, not decreased.
D. The assignment should be arr[i] = arr[i-1], not arr[i-1] = arr[i].
Solution
Step 1: Analyze loop start and assignments
The loop starts at i=1 and assigns arr[i-1] = arr[i], shifting elements left correctly.
Step 2: Check array size update
Decreasing n by 1 after shifting is correct to reflect deletion.
Final Answer:
The loop correctly shifts elements; no error present. -> Option A
Quick Check:
Loop from 1 with arr[i-1]=arr[i] shifts left [OK]
Hint: Loop from 1 with arr[i-1]=arr[i] shifts left correctly [OK]
Common Mistakes:
Thinking loop must start at 0 for shifting left
Confusing assignment direction
Incorrectly changing array size
5. You have an array int arr[] = {5, 10, 15, 20, 25, 30}; and size n = 6. You delete the first element twice using the correct deletion method. What is the resulting array and size?
hard
A. Array: [15, 20, 25, 30], Size: 4
B. Array: [10, 15, 20, 25, 30], Size: 5
C. Array: [5, 10, 15, 20], Size: 4
D. Array: [20, 25, 30], Size: 3
Solution
Step 1: First deletion removes 5
After first deletion, array becomes [10, 15, 20, 25, 30], size 5.
Step 2: Second deletion removes 10
After second deletion, array becomes [15, 20, 25, 30], size 4.
Final Answer:
Array: [15, 20, 25, 30], Size: 4 -> Option A
Quick Check:
Two deletions remove first two elements, size reduces by 2 [OK]
Hint: Each deletion removes first element and reduces size by one [OK]
Common Mistakes:
Not updating size after each deletion
Deleting wrong elements
Confusing array indexes after shifts
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.