unique, ad-free, freemium downloads

10 November 2017

How to print a hollow diamond in C - without graphics library

How to print a hollow diamond in C - without graphics library

Using simple mathematics and a little knowledge of nested for loops and if else conditionals, we can construct a hollow diamond without using a graphics library.


First, our program prints four quadrants in form of a grid using nested for loop. In the next step, an if conditional restricts the grid in form of a hollow diamond and prints building characters in that shape.


#include <stdio.h>

int main()
{
    // Author : Faizan
    
    int a,h,m,e,d,f,z,n;
    printf("\t\t * * * * * \n\t PROGRAM TO PRINT A DIAMOND \n\t\t * * * * * \n");
    printf("\n Please Enter # Of Rows (Height) : ");
    scanf("%d",&a); // User decides the rows (height) of the diamond
    if (a%2 == 0)
        a +=1;
        /* To preserve the symmetry, if height is
            an even number; it is replaced by an odd number */

    
    h=(a-1)/2;
    for (e=h; e>=-h; e--)
    {   printf("\n");
        for (d=-h; d<=h; d++){
                f = h*h;
                z = d*d + e*e - 2*e*d; // (a-b)^2
                n = d*d + e*e + 2*e*d; // (a+b)^2
                if (z == f || n == f) // restricting the grid to a hollow diamond
                    printf("#");
                else
                    printf(" ");

        }
    }
system("pause");
}

No comments:

Post a Comment