C++ Program To Print The Diamond Shape
Last Updated :
25 Jan, 2023
Improve
Given a number n, write a program to print a diamond shape with 2n-1 rows.
Examples :
Input: 5
Output:

// C++ program to print diamond shape
// with 2n-1 rows
#include <bits/stdc++.h>
using namespace std;
// Prints diamond pattern with 2n-1 rows
void printDiamond(int n)
{
int space = n - 1;
// run loop (parent loop)
// till number of rows
for (int i = 0; i < n; i++)
{
// loop for initially space,
// before star printing
for (int j = 0;j < space; j++)
cout << " ";
// Print i+1 stars
for (int j = 0; j <= i; j++)
cout << "* ";
cout << endl;
space--;
}
// Repeat again in reverse order
space = 0;
// run loop (parent loop)
// till number of rows
for (int i = n-1; i > 0; i--)
{
// loop for initially space,
// before star printing
for (int j = 0; j < space; j++)
cout << " ";
// Print i stars
for (int j = 0;j < i;j++)
cout << " *";
cout << endl;
space++;
}
}
// Driver code
int main()
{
printDiamond(5);
return 0;
}
// This is code is contributed
// by rathbhupendra
Output
* * * * * * * * * * * * * * * * * * * * * * * * *
Time Complexity: O(n*n) since we are traversing rows and columns of a grid for printing spaces ' ' and star '*'.
Auxiliary Space: O(1), No extra space used.