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 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

๐ŸŒ™