Program to print the pattern with two hollow Triangles

Given a number n, the task is to write a program to draw the following pattern using ‘$’.
$
$ $ $
$ $ $ $ $
$ $ $ $ $ $ $
$ $
$ $ $ $
$ $ $ $ $ $
$ $ $ $ $ $ $
$ $ $ $ $ $
$ $ $ $
$ $
$ $ $ $ $ $ $
$ $ $ $ $
$ $ $
$
Approach:
The above pattern is printed by breaking it into smaller patterns:
- The above triangle
$
$ $ $
$ $ $ $ $
$ $ $ $ $ $ $
- This is done with the help of for loop for rows 0 to n-1. Firstly the space is printed, then the ‘$’ is printed.
- The middle body
$ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $
- This again is divided into 3 smaller patterns:
- The upper middle body
- The upper middle body
$ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows 0 to n-2. Firstly the left ‘$’ is printed, then the space is printed, then the right ‘$’ is printed.
- The middle body
$ $ $ $ $ $ $
- This is done with the help of for loop for row = n-1. Here only the ‘$’ is printed for i 0 to (2n -1).
- The lower middle body
$ $ $ $ $ $ $ $ $ $ $ $
- This is done with the help of for loop for rows n to 2n-1. Firstly the left ‘$’ is printed, then the space is printed, then the right ‘$’ is printed.
- The lower triangle
$ $ $ $ $ $ $
$ $ $ $ $
$ $ $
$
- This is done with the help of for loop for rows 0 to n-1. This is done similar to the upper triangle pattern.
Hence the complete pattern will be drawn.
Below program prints the pattern as shown above:
C++
// C++ implementation of above approach #include <iostream> using namespace std; void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 0; i < 2 * r + 1; i++) cout << "$ " ; // new line cout << endl ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) cout << "$ " ; // for space for (int i = 0; i <= 2 * (n - r - 1)-2; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 0; i <= r; i++) cout << "$ " ; } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) cout << "$ " ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) cout << "$ " ; // for space for (int i = n; i <= r; i++) { cout << " " ; cout << " " ; } // for space for (int i = n; i < r; i++) { cout << " " ; cout << " " ; } // for $ for (int i = 2 * n - 1; i > r; i--) cout << "$ " ; } // new line cout << endl ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++){ cout << " " ; cout << " " ; } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) cout << "$ " ; // new line cout << endl ; } } int main() { int n = 4; printPattern(n); return 0; // This code is contributed by ANKITRAI1 } |
Java
// Java implementation of above approach public class GFG { public static void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i < 2 * r + 1; i++) System.out.print("$ "); // new line System.out.println(); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) System.out.print("$ "); // for space for (int i = 0; i <= 2 * (n - r - 1) - 2; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i <= r; i++) System.out.print("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) System.out.print("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) System.out.print("$ "); // for space for (int i = n; i <= r; i++){ System.out.print(" "); System.out.print(" "); } // for space for (int i = n; i < r; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 2 * n - 1; i > r; i--) System.out.print("$ "); } // new line System.out.println(); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++){ System.out.print(" "); System.out.print(" "); } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) System.out.print("$ "); // new line System.out.println(); } } // Driver Code public static void main(String[] args) { int n = 4; printPattern(n); } } |
Python3
# Python 3 implementation of above approach def printPattern(n): # for upper triangle # $ # $ $ $ # $ $ $ $ $ # $ $ $ $ $ $ $ for r in range(0,n,1): # for space for i in range(r,n - 1,1): print(" ",end = " ") # for $ for i in range(0,2 * r + 1,1): print("$",end = " ") # new line print("\n") # for middle body # $ $ # $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ $ $ $ # $ $ $ $ $ $ # $ $ $ $ # $ $ for r in range(0,2 * n - 1,1): if (r < n - 1): # for body # $ $ # $ $ $ $ # $ $ $ $ $ $ # for $ for i in range(0,r+1,1): print("$",end = " ") # for space for i in range(0,2 * (n - r - 1)-2+1,1): print(" ",end = " ") # for $ for i in range(0,r+1,1): print("$", end = " ") elif (r == n - 1): # for body # $ $ $ $ $ $ $ # for $ for i in range(0,2 * r + 1,1): print("$",end = " ") else: # for body # $ $ $ $ $ $ # $ $ $ $ # $ $ # for $ i = 2 * n - 1 while(i > r): print("$",end = " ") i -= 1 # for space for i in range(n,r+1,1): print(" ",end = " ") # for space for i in range(n,r,1): print(" ",end = " ") # for $ i = 2 * n - 1 while(i > r): print("$",end = " ") i -=1 # new line print("\n") # for lower triangle # $ $ $ $ $ $ $ # $ $ $ $ $ # $ $ $ # $ for r in range(0,n,1): # for space for i in range(0,r,1): print(" ",end = " ") # for $ for i in range(0,2 * (n - r) - 1,1): print("$",end = " ") # new line print("\n") # driver code if __name__ == '__main__': n = 4 printPattern(n) # This code is contributed by # Surendra_Gangwar |
C#
// C# implementation of above approach using System; class GFG { public static void printPattern(int n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (int r = 0; r < n; r++) { // for space for (int i = r; i < n - 1; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i < 2 * r + 1; i++) Console.Write("$ "); // new line Console.Write("\n"); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (int r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (int i = 0; i <= r; i++) Console.Write("$ "); // for space for (int i = 0; i <= 2 * (n - r - 1) - 2; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i <= r; i++) Console.Write("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (int i = 0; i < 2 * r + 1; i++) Console.Write("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (int i = 2 * n - 1; i > r; i--) Console.Write("$ "); // for space for (int i = n; i <= r; i++) { Console.Write(" "); Console.Write(" "); } // for space for (int i = n; i < r; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 2 * n - 1; i > r; i--) Console.Write("$ "); } // new line Console.Write("\n"); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (int r = 0; r < n; r++) { // for space for (int i = 0; i < r; i++) { Console.Write(" "); Console.Write(" "); } // for $ for (int i = 0; i < 2 * (n - r) - 1; i++) Console.Write("$ "); // new line Console.Write("\n"); } } // Driver Code public static void Main() { int n = 4; printPattern(n); } } // This code is contributed by ChitraNayal |
PHP
<?php // PHP implementation of above approach function printPattern($n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for ($r = 0; $r < $n; $r++) { // for space for ($i = $r; $i < $n - 1; $i++) { echo (" ") ; echo (" ") ; } // for $ for ($i = 0; $i < 2 * $r + 1; $i++) echo ("$ ") ; // new line echo ("\n") ; } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for ($r = 0; $r < 2 * $n - 1; $r++) { if ($r < $n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for ($i = 0; $i <= $r; $i++) echo("$ ") ; // for space for ($i = 0; $i <= 2 * ($n - $r - 1) - 2; $i++) { echo (" "); echo (" "); } // for $ for ($i = 0; $i <= $r; $i++) echo("$ "); } else if ($r == $n - 1) { // for body // $ $ $ $ $ $ $ // for $ for ($i = 0; $i < 2 * $r + 1; $i++) echo("$ ") ; } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for ($i = 2 * $n - 1; $i > $r; $i--) echo("$ ") ; // for space for ($i = $n; $i <= $r; $i++) { echo(" ") ; echo(" ") ; } // for space for ($i = $n; $i < $r; $i++) { echo (" ") ; echo (" ") ; } // for $ for ($i = 2 * $n - 1; $i > $r; $i--) echo("$ ") ; } // new line echo("\n") ; } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for ($r = 0; $r < $n; $r++) { // for space for ($i = 0; $i < $r; $i++) { echo(" ") ; echo(" ") ; } // for $ for ($i = 0; $i < 2 * ($n - $r) - 1; $i++) echo ("$ ") ; // new line echo ("\n") ; } } // Driver Code $n = 4; printPattern($n); // This code is contributed // by Shivi_Aggarwal ?> |
Javascript
<script> // JavaScript implementation of above approach function printPattern(n) { // for upper triangle // $ // $ $ $ // $ $ $ $ $ // $ $ $ $ $ $ $ for (var r = 0; r < n; r++) { // for space for (var i = r; i < n - 1; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i < 2 * r + 1; i++) document.write("$ "); // new line document.write("<br>"); } // for middle body // $ $ // $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ $ $ $ // $ $ $ $ $ $ // $ $ $ $ // $ $ for (var r = 0; r < 2 * n - 1; r++) { if (r < n - 1) { // for body // $ $ // $ $ $ $ // $ $ $ $ $ $ // for $ for (var i = 0; i <= r; i++) document.write("$ "); // for space for (var i = 0; i <= 2 * (n - r - 1) - 2; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i <= r; i++) document.write("$ "); } else if (r == n - 1) { // for body // $ $ $ $ $ $ $ // for $ for (var i = 0; i < 2 * r + 1; i++) document.write("$ "); } else { // for body // $ $ $ $ $ $ // $ $ $ $ // $ $ // for $ for (var i = 2 * n - 1; i > r; i--) document.write("$ "); // for space for (var i = n; i <= r; i++) { document.write(" "); document.write(" "); } // for space for (var i = n; i < r; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 2 * n - 1; i > r; i--) document.write("$ "); } // new line document.write("<br>"); } // for lower triangle // $ $ $ $ $ $ $ // $ $ $ $ $ // $ $ $ // $ for (var r = 0; r < n; r++) { // for space for (var i = 0; i < r; i++) { document.write(" "); document.write(" "); } // for $ for (var i = 0; i < 2 * (n - r) - 1; i++) document.write("$ "); // new line document.write("<br>"); } } var n = 4; printPattern(n); // This code is contributed by rdtank. </script> |
Output:
$
$ $ $
$ $ $ $ $
$ $ $ $ $ $ $
$ $
$ $ $ $
$ $ $ $ $ $
$ $ $ $ $ $ $
$ $ $ $ $ $
$ $ $ $
$ $
$ $ $ $ $ $ $
$ $ $ $ $
$ $ $
$
Time Complexity : O(n2)
Auxiliary Space : O(1)
Feeling lost in the world of random DSA topics, wasting time without progress? It’s time for a change! Join our DSA course, where we’ll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 zambiatek!



