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

Double Diamond Star Pattern in C

Diamond Star Pattern in C

Diamond Star Pattern in C

This program prints a diamond shaped star pattern using nested loops and conditional statements in C.

๐Ÿ” C Program Code:

#include <stdio.h>

int main() {
    int num;
    printf("Enter the number:\n");
    scanf("%d", &num);

    // Upper part of diamond
    for(int i = 0; i < num; i++) {
        for(int j = 0; j < (2 * num); j++) {
            if(i + j <= num - 1) {
                printf("*");
            } else {
                printf(" ");
            }
            if(i + num <= j) {
                printf("*");
            } else {
                printf(" ");
            }
        }
        printf("\n");
    }

    // Lower part of diamond
    for(int i = 0; i < num; i++) {
        for(int j = 0; j < (2 * num); j++) {
            if(i >= j) {
                printf("*");
            } else {
                printf(" ");
            }
            if(i >= ((2 * num) - 1) - j) {
                printf("*");
            } else {
                printf(" ");
            }
        }
        printf("\n");
    }

    return 0;
}

๐Ÿ“Œ How It Works:

  • The program takes an integer input num which controls the size of the diamond.
  • The first pair of nested loops prints the upper half of the diamond:
    • Stars are printed on the left and right edges based on the conditions i + j <= num - 1 and i + num <= j.
    • Spaces fill the middle region, creating a hollow diamond shape.
  • The second pair of nested loops prints the lower half of the diamond:
    • Stars print based on conditions i >= j and i >= (2*num - 1) - j forming the symmetrical bottom.
  • Together, these loops form a complete diamond star pattern.

๐Ÿ’ป Sample Output for num=7:

* * * * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * *
* * * * * * * *
* * * * * *
* * * *
* *
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * *

Double Diamond Star Pattern in C

Double Diamond Star Pattern in C

This program prints a double diamond pattern of stars using nested loops in C.

๐Ÿ” C Program Code:

#include <stdio.h>

int main() {
    int n;
    printf("Enter the number:\n");
    scanf("%d", &n);

    // Upper part of pattern
    for (int i = 0; i < n; i++) {
        // Left stars
        for (int j = 0; j < n - i; j++) {
            printf("* ");
        }
        // Spaces in middle
        for (int j = 0; j < 2 * i; j++) {
            printf("  ");
        }
        // Right stars
        for (int j = 0; j < n - i; j++) {
            printf("* ");
        }
        printf("\n");
    }

    // Lower part of pattern
    for (int i = 0; i < n; i++) {
        // Left stars
        for (int j = 0; j <= i; j++) {
            printf("* ");
        }
        // Spaces in middle
        for (int j = 0; j < 2 * (n - i - 1); j++) {
            printf("  ");
        }
        // Right stars
        for (int j = 0; j <= i; j++) {
            printf("* ");
        }
        printf("\n");
    }

    return 0;
}

๐Ÿ“Œ How It Works:

  • The first for loop prints the upper half of the double diamond.
  • It prints decreasing stars on the sides and increasing spaces in the center.
  • The second for loop prints the lower half with increasing stars on the sides and decreasing spaces in the center.
  • This creates a symmetric double diamond star pattern.

๐Ÿ’ป Sample Output for n=7:

* * * * * * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * *
* * * * * * * *
* * * * * *
* * * *
* *
* *
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *
* * * * * * * * * * * *
* * * * * * * * * * * * * *

Comments

Popular Posts

๐ŸŒ™