Skip to main content

Featured

C Program to Check Prime Number Using Efficient Logic

  Introduction A prime number is a number that has exactly two distinct positive divisors: 1 and itself. In this program, we check whether a given number is prime or not using a simple and efficient logic. This type of program is commonly used in mathematics, competitive programming, and basic algorithm learning for beginners in C programming. Problem Statement The task is to write a C program that determines whether a given integer is a prime number or not. The program takes a single integer input from the user and analyzes its divisibility. If the number has no divisors other than 1 and itself, it should be identified as a prime number; otherwise, it is not prime. This problem is important in number theory and has practical relevance in areas such as cryptography, data validation, and algorithm design.  Algorithm / Logic Explanation To check whether a number is prime, we need to verify that it is not divisible by any number other than 1 and itself. The algorithm follows a si...

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

๐ŸŒ™