Skip to main content

Featured

C Pattern Programs: Square Number and Alphabet Patterns Explained

πŸ”· Square Star Pattern πŸ“‹ Copy Code #include <stdio.h> int main() { int num; printf("Enter the number:\n"); scanf("%d", &num); for(int i = 1; i <= num; i++) { for(int j = 1; j <= num; j++) { printf("* ");//keep"* " } printf("\n"); } return 0; } πŸ”· Reverse Square Alphabet Pattern (Column-wise) πŸ“‹ Copy Code #include <stdio.h> int main() { int num; printf("Enter the number:\n"); scanf("%d", &num); for(int i = num; i >= 1; i--) { for(int j = num; j >= 1; j--) { printf("%c ", j + 64);//%c for Character and 64 will be ASIIC VALUE } printf("\n"); } return 0; } πŸ”· Reverse Square Alphabet Pattern (Row-wise) πŸ“‹ Copy Code #include <stdio.h> int main() { int num; ...

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

πŸŒ™