w3resource

C++ Exercises: Display the pattern like a diamond

C++ For Loop: Exercise-44 with Solution

Write a C++ program to display a pattern like a diamond.

Sample Solution:

C++ Code :

#include <iostream> // Include the input/output stream library
using namespace std; // Using standard namespace

int main() // Main function where the execution of the program starts
{
    int i, j, r; // Declare integer variables i, j, and r

    // Display message asking for input
    cout << "\n\n Display the pattern like a diamond:\n";
    cout << "----------------------------------------\n";
    cout << " Input number of rows (half of the diamond): ";
    cin >> r; // Read input for the number of rows (half of the diamond) from the user

    // Loop to print the upper half of the diamond pattern
    for (i = 0; i <= r; i++) // Loop for the upper half of the diamond
    {
        for (j = 1; j <= r - i; j++) // Loop to print spaces before the asterisks
        {
            cout << " "; // Print a space
        }

        for (j = 1; j <= 2 * i - 1; j++) // Loop to print asterisks in each row
        {
            cout << "*"; // Print an asterisk
        }

        cout << endl; // Move to the next line after each row is printed
    }

    // Loop to print the lower half of the diamond pattern
    for (i = r - 1; i >= 1; i--) // Loop for the lower half of the diamond
    {
        for (j = 1; j <= r - i; j++) // Loop to print spaces before the asterisks
        {
            cout << " "; // Print a space
        }

        for (j = 1; j <= 2 * i - 1; j++) // Loop to print asterisks in each row
        {
            cout << "*"; // Print an asterisk
        }

        cout << endl; // Move to the next line after each row is printed
    }
}

Sample Output:

 Display the pattern like a diamond:                                   
----------------------------------------                               
 Input number of rows (half of the diamond): 5                         
                                                                       
    *                                                                  
   ***                                                                 
  *****                                                                
 *******                                                               
*********                                                              
 *******                                                               
  *****                                                                
   ***                                                                 
    *   

Flowchart:

Flowchart: Display the pattern like a diamond

C++ Code Editor:

Contribute your code and comments through Disqus.

Previous: Write a program in C++ to print the Floyd's Triangle.
Next: Write a program in C++ to display Pascal's triangle like pyramid.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.