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 Smallest Element Without Sorting

๐Ÿ” C Program to Find the Third Smallest Element Without Sorting

#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 smallest 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;

    // Initialize first, second, third with the smallest 3
    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 smallest element.\n");
    }
    else
    {
        printf("The third smallest element is: %d\n", third);
    }

    return 0;
}
  

๐Ÿ“ Explanation:

This program identifies the third smallest distinct element without sorting the array. It initializes the smallest three manually and adjusts their values during iteration while avoiding duplicates.

๐Ÿ’ก Sample Output:

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

๐Ÿ” Keywords:

C program to find third minimum value, no sorting, array interview questions in C, C coding logic, array manipulation

Comments

Popular Posts

๐ŸŒ™