C# code to generate pyramid with characters
using System;
using System.Text;
class PrintPyramid
{
    static void Main()
    {
        // Ask for the number to generate pyramid.
        Console.Write("Please enter number to generate triangle: ");
        // Get the input value.
        var noOfRows = Convert.ToInt64(Console.ReadLine());
        // Generate pyramid with the given value.
        GenerateTriangle(noOfRows, '*');
        // Wait for the response from command line.
        Console.ReadLine();
    }
    // Method to generate pyramid
    private static void GenerateTriangle(long noOfRows, char charForTriangle)
    {
        // Create an instance of type StringBuilder to store spaces.
        var sbSpaces = new StringBuilder();
        // Add Spaces to the StringBuilder.
        for (int spaces = 1; spaces < noOfRows; spaces++)
        {
            sbSpaces.Append(" ");
        }
        // Take initial row value as 1.
        var noPrint = 1;
        for (long number = 1; number <= noOfRows; number++)
        {
            // Print spaces first.
            Console.Write(sbSpaces);
            // Print 'X' in a single line to generate proper pyramid.
            for (long i = 1; i <= noPrint; i++)
            {
                Console.Write(charForTriangle);
            }
            // After printing one line come to second line.
            Console.WriteLine();
            // Increment noPrint value to add more 'X' to line.
            noPrint += 2;
            // Each time remove one space from StringBuilder to generate pyramid.
            if (sbSpaces.Length > 0)
                sbSpaces.Remove(0, 1);
        }
    }
}
 
No comments:
Post a Comment