Skip to main content

Featured

C++ Program to Perform Linear Search on a Vector

  C++ Program to Perform Linear Search on a Vector Introduction In this C++ program, we will learn how to perform a Linear Search on a vector. The program first takes the size of the vector and its elements as input. Then it asks the user for the element to search. If the element is found, it displays the index where it is located. Otherwise, it displays a message indicating that the element is not found. C++ Program #include<bits/stdc++.h> using namespace std; int main() { int num, search, found = 0; cout << "Enter the size of the vector:" << endl; cin >> num; vector<int> v(num); cout << "Enter " << num << " elements in vector:" << endl; for(int i = 0; i < num; i++) { cin >> v[i]; } cout << "Enter element that you want to search:" << endl; cin >> search; for(int i = 0; i < num; i++) { ...

C program to find the third largest element in an array using conditional checks

Find Third Largest Element in Array - C Program

๐Ÿ”ข Find the Third Largest Element in an Array (C Program)

#include <stdio.h>

int main()
{
    int num, a[100];
    printf("Enter the size of the array:\n");
    scanf("%d", &num);

    if (num < 3)
    {
        printf("Invalid! Need at least 3 elements to find the third largest element.\n");
        return 1;
    }

    printf("Enter %d elements:\n", num);
    for (int i = 0; i < num; i++)
    {
        scanf("%d", &a[i]);
    }

    int first, second, third;

    // Sort first 3 elements
    if (a[0] >= a[1] && a[0] >= a[2])
    {
        first = a[0];
        if (a[1] >= a[2])
        {
            second = a[1];
            third = a[2];
        }
        else
        {
            second = a[2];
            third = a[1];
        }
    }
    else if (a[1] >= a[0] && a[1] >= a[2])
    {
        first = a[1];
        if (a[0] >= a[2])
        {
            second = a[0];
            third = a[2];
        }
        else
        {
            second = a[2];
            third = a[0];
        }
    }
    else
    {
        first = a[2];
        if (a[0] >= a[1])
        {
            second = a[0];
            third = a[1];
        }
        else
        {
            second = a[1];
            third = a[0];
        }
    }

    for (int i = 3; i < num; i++)
    {
        if (a[i] > first)
        {
            third = second;
            second = first;
            first = a[i];
        }
        else if (a[i] > second && a[i] != first)
        {
            third = second;
            second = a[i];
        }
        else if (a[i] > third && a[i] != second && a[i] != first)
        {
            third = a[i];
        }
    }

    if (first == second || second == third)
    {
        printf("There is no distinct third largest element.\n");
    }
    else
    {
        printf("The third largest element is: %d\n", third);
    }

    return 0;
}
  

๐Ÿ“˜ Explanation:

✅ First, the code reads the number of elements and validates it should be at least 3.
✅ It initializes the first, second, and third largest elements by sorting the first 3 manually.
✅ Then it iterates from the 4th element to update first, second, and third as needed.
✅ Finally, it ensures all 3 values are distinct before printing the third largest.

๐Ÿงช Sample Output:

Enter the size of the array:
6
Enter 6 elements:
1 4 5 2 9 7
The third largest element is: 5
    

๐Ÿท️ Keywords:

C program for third largest number, top 3 numbers in array, array sorting in C, C max elements, competitive programming

Comments

Popular Posts

๐ŸŒ™