Skip to main content

Featured

C Program to Solve Two Sum Using Brute Force (With Algorithm & Output)

 Introduction The Two Sum problem is a popular coding interview question where we must find two indices of an array whose values add up to a given target. This program demonstrates a simple brute-force solution in C using nested loops and dynamic memory allocation. Problem Statement Given an integer array and a target value, return the indices of the two numbers such that they add up to the target. Each input has exactly one solution, and the same element cannot be used twice. The result should return the indices, not the values. If no solution exists, return NULL.  Algorithm / Logic Explanation Start the program. Traverse the array using a loop from index 0 to numsSize - 1 . Inside this loop, use another loop starting from i + 1 to numsSize - 1 . For every pair (i, j) , check if nums[i] + nums[j] == target . If condition becomes true: Allocate memory for 2 integers using malloc() . Store indices i and j . Set returnSize = 2 . Return the result poi...

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

๐ŸŒ™