📖 Scenario: You have a list of product IDs in a store's inventory. You want to find if a specific product ID is available by checking each product one by one.
🎯 Goal: Build a simple linear search program in C++ that looks for a given product ID in a list and tells if it is found or not.
📋 What You'll Learn
Create an array called products with these exact integers: 101, 203, 405, 607, 809
Create an integer variable called target and set it to 405
Use a for loop with variable i to iterate over the products array
Inside the loop, use an if statement to check if products[i] equals target
Create a boolean variable called found to track if the target is found
Print "Found" if the target is in the array, otherwise print "Not Found"
💡 Why This Matters
🌍 Real World
Stores and inventory systems often need to check if a product is available by searching through lists of product IDs.
💼 Career
Understanding linear search is a fundamental skill for software developers working with data lookup and simple search tasks.
Progress0 / 4 steps
1
Create the product list
Create an integer array called products with these exact values: 101, 203, 405, 607, 809
DSA C++
Hint
Use int products[] = {101, 203, 405, 607, 809}; to create the array.
2
Set the target product ID
Create an integer variable called target and set it to 405
DSA C++
Hint
Use int target = 405; to set the product ID to search for.
3
Search for the target using a loop
Create a boolean variable called found and set it to false. Use a for loop with variable i to iterate over the products array. Inside the loop, use an if statement to check if products[i] equals target. If yes, set found to true and use break to stop the loop.
DSA C++
Hint
Use a for loop from 0 to 4 and check each product. Set found to true and break if you find the target.
4
Print the search result
Use an if statement to print "Found" if found is true. Otherwise, print "Not Found".
DSA C++
Hint
Use if (found) to print "Found" and else to print "Not Found".
Practice
(1/5)
1. What is the main idea behind the Linear Search Algorithm?
easy
A. Use a hash table to find the target instantly
B. Check each element one by one until the target is found or list ends
C. Sort the list first and then search using binary steps
D. Divide the list into halves repeatedly to find the target
Solution
Step 1: Understand linear search process
Linear search checks each element in order, starting from the first, to find the target.
Step 2: Compare with other search methods
Other methods like binary search divide the list, but linear search simply checks one by one.
Final Answer:
Check each element one by one until the target is found or list ends -> Option B
Quick Check:
Linear search = check elements one by one [OK]
Hint: Linear search checks elements one by one [OK]
Common Mistakes:
Confusing linear search with binary search
Thinking linear search requires sorted data
Assuming linear search is faster than binary search always
2. Which of the following is the correct syntax to start a linear search loop in C++ for an array arr of size n?
easy
A. for (int i = 0; i <= n; i++)
B. for (int i = 1; i <= n; i++)
C. for (int i = 0; i < n; i++)
D. for (int i = 1; i < n; i++)
Solution
Step 1: Understand array indexing in C++
Arrays in C++ start at index 0 and go up to n-1, so loop should run from 0 to less than n.
Step 2: Check loop conditions
Loop with i < n ensures last index accessed is n-1, which is valid.
Final Answer:
for (int i = 0; i < n; i++) -> Option C
Quick Check:
Loop from 0 to n-1 = for (int i = 0; i < n; i++) [OK]
Hint: Array index starts at 0, loop till i < n [OK]
Common Mistakes:
Using <= n causes out-of-bound access
Starting loop at 1 misses first element
Using wrong loop condition causing runtime errors
3. What will be the output of the following C++ code?
int arr[] = {4, 2, 7, 1, 9};
int n = 5;
int target = 7;
int index = -1;
for (int i = 0; i < n; i++) {
if (arr[i] == target) {
index = i;
break;
}
}
std::cout << index;
medium
A. 2
B. 3
C. -1
D. 4
Solution
Step 1: Trace the loop to find target 7
Check elements: arr[0]=4 (no), arr[1]=2 (no), arr[2]=7 (yes), so index = 2 and break.
Step 2: Output the index
After break, index is 2, so output is 2.
Final Answer:
2 -> Option A
Quick Check:
Target found at index 2 [OK]
Hint: Stop loop when target found, print index [OK]
Common Mistakes:
Forgetting to break loop after finding target
Printing target value instead of index
Confusing index with position (1-based)
4. Identify the error in the following linear search code snippet:
int arr[] = {5, 3, 8, 6};
int n = 4;
int target = 6;
int index = -1;
for (int i = 1; i <= n; i++) {
if (arr[i] == target) {
index = i;
break;
}
}
std::cout << index;
medium
A. Both A and B are errors
B. Loop condition should be i < n, not i <= n
C. Loop starts at 1 instead of 0, missing first element
D. No error, code works fine
Solution
Step 1: Check loop start index
Loop starts at 1, so arr[0] is never checked, missing first element.
Step 2: Check loop end condition
Loop runs while i <= n, so i can be 4, but arr[4] is out of bounds (valid indices 0-3).
Final Answer:
Both A and B are errors -> Option A
Quick Check:
Loop must start at 0 and run i < n [OK]
Hint: Loop from 0 to less than n to avoid errors [OK]
Common Mistakes:
Starting loop at 1 misses first element
Using <= n causes out-of-bound access
Ignoring array index limits
5. You have an unsorted array arr = {3, 5, 2, 9, 5, 2}. You want to find the first occurrence index of the number 5 using linear search. What will be the output and why?
medium
A. Error, because array has duplicates
B. 4, because linear search returns the last matching index
C. -1, because 5 is not found
D. 1, because linear search returns the first matching index
Solution
Step 1: Understand linear search behavior with duplicates
Linear search returns the first index where target is found, ignoring later duplicates.
Step 2: Find first occurrence of 5 in array
arr[0]=3 (no), arr[1]=5 (yes), so index = 1 is returned immediately.
Final Answer:
1, because linear search returns the first matching index -> Option D
Quick Check:
First occurrence index = 1 [OK]
Hint: Linear search stops at first match, returns its index [OK]
Common Mistakes:
Returning last occurrence instead of first
Assuming duplicates cause errors
Returning -1 incorrectly when target exists
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.