Skip to content
Related Articles

Related Articles

Programs to print Interesting Patterns

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 06 Nov, 2022
Improve Article
Save Article

Program to print the following pattern: 

Examples : 

Input : 5
Output: 
* * * * *  * * * * *
* * * *      * * * *
* * *          * * *
* *              * *
*                  *
*                  *
* *              * *
* * *          * * *
* * * *      * * * *
* * * * *  * * * * *

This program is divided into four parts.

C++




// C++ program to print
// the given pattern
#include<iostream>
using namespace std;
 
void pattern(int n)
{
    int i, j;
     
    // This is upper half of pattern
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= (2 * n); j++)
        {
             
            // Left part of pattern
            if (i > (n - j + 1))
                cout << " ";
            else
                cout << "*";
                  
            // Right part of pattern
            if ((i + n) > j)
                cout << " ";
            else
                cout << "*";
        }
        cout << endl ;
    }
      
    // This is lower half of pattern
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= (2 * n); j++)
        {
             
            // Right Part of pattern
            if (i < j)
                cout << " ";
            else
                cout << "*";
              
            // Left Part of pattern
            if (i <= ((2 * n) - j))
                cout << " ";
            else
                cout << "*";
        }
        cout << endl;
    }
}
  
// Driver Code
int main()
{
    pattern(7);
     
    return 0;
}
 
// This code is contributed by bunnyram19

C




// C program to print
// the given pattern
 
#include<stdio.h>
void pattern(int n)
{
    int i,j;
 
    // This is upper half of pattern
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=(2*n); j++)
        {
            // Left part of pattern
            if (i>(n-j+1))
                printf(" ");
            else
                printf("*");
                 
            // Right part of pattern
            if ((i+n)>j)
                printf(" ");
            else
                printf("*");
        }
        printf("\n");
    }
     
    // This is lower half of pattern
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=(2*n); j++)
        {
            // Right Part of pattern
            if (i<j)
                printf(" ");
            else
                printf("*");
             
            // Left Part of pattern
            if (i<=((2*n)-j))
                printf(" ");
            else
                printf("*");
        }
        printf("\n");
    }
}
 
// Driver Code
int main()
{
    pattern(7);
    return 0;
}

Java




// Java program to print
// the given pattern
import java.io.*;
 
class GFG {
     
    static void pattern(int n)
    {
        int i, j;
 
        // This is upper half of pattern
        for (i = 1; i <= n; i++) {
            for (j = 1; j <= (2 * n); j++) {
                 
                // Left part of pattern
                if (i > (n - j + 1))
                    System.out.print(" ");
                else
                    System.out.print("*");
 
                // Right part of pattern
                if ((i + n) > j)
                    System.out.print(" ");
                else
                    System.out.print("*");
            }
             
            System.out.println("");
        }
 
        // This is lower half of pattern
        for (i = 1; i <= n; i++) {
            for (j = 1; j <= (2 * n); j++) {
                 
                // Right Part of pattern
                if (i < j)
                    System.out.print(" ");
                else
                    System.out.print("*");
 
                // Left Part of pattern
                if (i <= ((2 * n) - j))
                    System.out.print(" ");
                else
                    System.out.print("*");
            }
             
            System.out.println("");
        }
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        pattern(7);
    }
}
 
// This code is contributed by vt_m

Python3




# Python3 program to print
# the given pattern
 
def pattern(n):
     
    # This is upper half of pattern
    for i in range (1, n + 1):
        for j in range (1, 2 * n):
             
            # Left part of pattern
            if i > (n - j + 1):
                print("", end = ' ');
            else:
                print("*", end = '');
                 
            # Right part of pattern
            if i + n - 1 > j:
                print("", end = ' ');
            else:
                print("*", end = '');
        print("");
         
    # This is lower half of pattern
    for i in range (1, n + 1):
        for j in range (1, 2 * n):
            #Left part of pattern
            if i < j:
                print("", end = ' ');
            else:
                print("*", end = '');
                 
            # Right part of pattern
            if i < 2 * n - j:
                print("", end = ' ');
            else:
                print("*", end = '');
        print("");
         
# Driver Code
pattern(7);
 
# This code is contributed by mits

C#




// C# program to print
// the given pattern
using System;
 
class GFG
{
    static void pattern(int n)
    {
        int i, j;
 
        // This is upper
        // half of pattern
        for (i = 1; i <= n; i++)
        {
            for (j = 1; j <= (2 * n); j++)
            {
                 
                // Left part of pattern
                if (i > (n - j + 1))
                    Console.Write(" ");
                else
                    Console.Write("*");
 
                // Right part of pattern
                if ((i + n) > j)
                    Console.Write(" ");
                else
                    Console.Write("*");
            }
             
            Console.WriteLine("");
        }
 
        // This is lower
        // half of pattern
        for (i = 1; i <= n; i++)
        {
            for (j = 1; j <= (2 * n); j++)
            {
                 
                // Right Part of pattern
                if (i < j)
                    Console.Write(" ");
                else
                    Console.Write("*");
 
                // Left Part of pattern
                if (i <= ((2 * n) - j))
                    Console.Write(" ");
                else
                    Console.Write("*");
            }
             
            Console.WriteLine("");
        }
    }
     
    // Driver Code
    static public void Main ()
    {
        pattern(7);
    }
}
 
// This code is contributed by ajit

PHP




<?php
// PHP program to print
// the given pattern
 
function pattern($n)
{
    $i; $j;
 
    // This is upper half of pattern
    for ($i = 1; $i <= $n; $i++)
    {
        for ($j = 1; $j <= (2 * $n); $j++)
        {
            // Left part of pattern
            if ($i > ($n - $j + 1))
                echo " ";
            else
                echo "*";
                 
            // Right part of pattern
            if (($i + $n) > $j)
                echo " ";
            else
                echo "*";
        }
        printf("\n");
    }
     
    // This is lower half of pattern
    for ($i = 1; $i <= $n; $i++)
    {
        for ($j = 1; $j <= (2 * $n); $j++)
        {
            // Right Part of pattern
            if ($i < $j)
                echo " ";
            else
                echo "*";
             
            // Left Part of pattern
            if ($i <= ((2 * $n) - $j))
                echo " ";
            else
                echo "*";
        }
        echo "\n";
    }
}
 
// Driver Code
pattern(7);
 
// This code is contributed by m_kit
?>

Javascript




<script>
 
      // JavaScript program to print
      // the given pattern
 
      function pattern(n) {
        var i, j;
 
        // This is upper half of pattern
        for (i = 1; i <= n; i++) {
          for (j = 1; j <= 2 * n; j++) {
            // Left part of pattern
            if (i > n - j + 1)
            document.write("  ");
            else
            document.write("*");
 
            // Right part of pattern
            if (i + n > j)
            document.write("  ");
            else
            document.write("*");
          }
          document.write("<br>");
        }
 
        // This is lower half of pattern
        for (i = 1; i <= n; i++) {
          for (j = 1; j <= 2 * n; j++) {
            // Right Part of pattern
            if (i < j)
            document.write("  ");
            else
            document.write("*");
 
            // Left Part of pattern
            if (i <= 2 * n - j)
            document.write("  ");
            else
            document.write("*");
          }
          document.write("<br>");
        }
      }
 
      // Driver Code
      pattern(7);
       
    </script>

Output

* * * * * * *  * * * * * * *
* * * * * *      * * * * * *
* * * * *          * * * * *
* * * *              * * * *
* * *                  * * *
* *                      * *
*                          *
*                          *
* *                      * *
* * *                  * * *
* * * *              * * * *
* * * * *          * * * * *
* * * * * *      * * * * * *
* * * * * * *  * * * * * * *

Time Complexity: O(n2)
Auxiliary Space: O(1)

Program to print following pattern: 

Examples : 

Input : 5
Output: 
*                  *
* *              * *
* * *          * * *
* * * *      * * * *
* * * * *  * * * * *
* * * * *  * * * * *
* * * *      * * * *
* * *          * * *
* *              * *
*                  *

This program is divided into four parts. 

C++




// C++ program to print the
// given pattern
#include <bits/stdc++.h>
using namespace std;
 
void pattern(int n)
{
    int i, j;
     
    // This is upper half of pattern
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= (2 * n); j++)
        {
            // Left part of pattern
            if (i < j)
                cout << " ";
            else
                cout << "*";
             
            // Right part of pattern
            if (i <= ((2 * n) - j))
                cout << " ";
            else
                cout << "*";
        }
        cout << "\n";
    }
     
    // This is lower half of pattern
    for (i = 1; i <= n; i++)
    {
        for (j = 1; j <= (2 * n); j++)
        {
            // Left part of pattern
            if (i > (n - j + 1))
                cout <<" ";
            else
                cout <<"*";
                 
            // Right part of pattern
            if ((i + n) > j)
                cout << " ";
            else
                cout << "*";
        }
        cout << "\n";
    }
}
 
// Driver Code
int main()
{
    pattern(7);
    return 0;
}
 
// This code is contributed by shivanisinghss2110

C




// C program to print the
// given pattern
 
#include<stdio.h>
void pattern(int n)
{
    int i,j;
     
    // This is upper half of pattern
    for (i=1; i<=n; i++)
    {
        for (j=1; j<=(2*n); j++)
        {
            // Left part of pattern
            if (i<j)
                printf(" ");
            else
                printf("*");
             
            // Right part of pattern
            if (i<=((2*n)-j))
                printf(" ");
            else
                printf("*");
        }
        printf("\n");
    }
     
    // This is lower half of pattern
    for (i=1; i<=n; i++)
    {
        for (j=1;j<=(2*n);j++)
        {
            // Left part of pattern
            if (i>(n-j+1))
                printf(" ");
            else
                printf("*");
                 
            // Right part of pattern
            if ((i+n)>j)
                printf(" ");
            else
                printf("*");
        }
        printf("\n");
    }
}
 
// Driver Code
int main()
{
    pattern(7);
    return 0;
}

Java




// Java program to print the
// given pattern
 
import java.io.*;
 
class GFG {
 
    static void pattern(int n)
    {
        int i, j;
 
        // This is upper half of pattern
        for (i = 1; i <= n; i++) {
            for (j = 1; j <= (2 * n); j++) {
                 
                // Left part of pattern
                if (i < j)
                    System.out.print(" ");
                else
                    System.out.print("*");
 
                // Right part of pattern
                if (i <= ((2 * n) - j))
                    System.out.print(" ");
                else
                    System.out.print("*");
            }
             
            System.out.println("");
        }
 
        // This is lower half of pattern
        for (i = 1; i <= n; i++) {
            for (j = 1; j <= (2 * n); j++) {
                 
                // Left part of pattern
                if (i > (n - j + 1))
                    System.out.print(" ");
                else
                    System.out.print("*");
 
                // Right part of pattern
                if ((i + n) > j)
                    System.out.print(" ");
                else
                    System.out.print("*");
            }
             
            System.out.println("");
        }
    }
 
    // Driver Code
    public static void main(String[] args)
    {
        pattern(7);
    }
}
 
// This code is contributed by vt_m

Python3




# Python3 program to
# print the given pattern
 
def pattern(n):
     
    # This is upper
    # half of pattern
    for i in range(1, n + 1):
        for j in range(1, 2 * n + 1):
             
            # Left part of pattern
            if (i < j):
                print("", end = " ");
            else:
                print("*", end = "");
                 
            # Right part of pattern
            if (i <= ((2 * n) - j)):
                print("", end = " ");
            else:
                print("*", end = "");
        print("");
     
    # This is lower
    # half of pattern
    for i in range(1, n + 1):
        for j in range(1, 2 * n + 1):
             
            # Left part of pattern
            if (i > (n - j + 1)):
                print("", end = " ");
            else:
                print("*", end = "");
             
            # Right part of pattern
            if ((i + n) > j):
                print("", end = " ");
            else:
                print("*", end = "");
        print("");
 
# Driver Code
pattern(7);
 
# This code is contributed
# by mits

C#




// C# program to print
// the given pattern
using System;
 
class GFG
{
    static void pattern(int n)
    {
        int i, j;
 
        // This is upper
        // half of pattern
        for (i = 1; i <= n; i++)
        {
            for (j = 1; j <= (2 * n); j++)
            {
                 
                // Left part of pattern
                if (i < j)
                    Console.Write(" ");
                else
                    Console.Write("*");
 
                // Right part of pattern
                if (i <= ((2 * n) - j))
                    Console.Write(" ");
                else
                    Console.Write("*");
            }
             
            Console.WriteLine("");
        }
 
        // This is lower
        // half of pattern
        for (i = 1; i <= n; i++)
        {
            for (j = 1; j <= (2 * n); j++)
            {
                 
                // Left part of pattern
                if (i > (n - j + 1))
                    Console.Write(" ");
                else
                    Console.Write("*");
 
                // Right part of pattern
                if ((i + n) > j)
                    Console.Write(" ");
                else
                    Console.Write("*");
            }
             
            Console.WriteLine("");
        }
    }
 
    // Driver Code
    static public void Main ()
    {
        pattern(7);
    }
}
 
// This code is contributed by ajit

PHP




<?php
// PHP program to print
// the given pattern
function pattern($n)
{
    $i; $j;
     
    // This is upper half
    // of pattern
    for ($i = 1; $i <= $n; $i++)
    {
        for ($j = 1; $j <= (2 * $n); $j++)
        {
            // Left part of pattern
            if ($i < $j)
                echo " ";
            else
                echo "*";
             
            // Right part of pattern
            if ($i <= ((2 * $n) - $j))
                echo " ";
            else
                echo "*";
        }
        echo "\n";
    }
     
    // This is lower half of pattern
    for ($i = 1; $i <= $n; $i++)
    {
        for ($j = 1;$j <= (2 * $n); $j++)
        {
            // Left part of pattern
            if ($i > ($n - $j + 1))
                echo " ";
            else
                echo "*";
                 
            // Right part of pattern
            if (($i + $n) > $j)
                echo " ";
            else
                echo "*";
        }
    echo "\n";
    }
}
 
// Driver Code
pattern(7);
 
// This code is contributed by aj_36
?>

Javascript




<script>
 
// Javascript program to print the
// given pattern  
function pattern(n)
{
    var i, j;
     
    // This is upper half of pattern
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= (2 * n); j++)
        {
             
            // Left part of pattern
            if (i < j)
                document.write("  ");
            else
                document.write("*");
     
            // Right part of pattern
            if (i <= ((2 * n) - j))
                document.write("  ");
            else
                document.write("*");
        }
        document.write('<br>');
    }
     
    // This is lower half of pattern
    for(i = 1; i <= n; i++)
    {
        for(j = 1; j <= (2 * n); j++)
        {
             
            // Left part of pattern
            if (i > (n - j + 1))
                document.write("  ");
            else
                document.write("*");
     
            // Right part of pattern
            if ((i + n) > j)
                document.write("  ");
            else
                document.write("*");
        }
        document.write('<br>');
    }
}
 
// Driver Code
pattern(7);
 
// This code is contributed by Princi Singh
 
</script>

Output

*                          *
* *                      * *
* * *                  * * *
* * * *              * * * *
* * * * *          * * * * *
* * * * * *      * * * * * *
* * * * * * *  * * * * * * *
* * * * * * *  * * * * * * *
* * * * * *      * * * * * *
* * * * *          * * * * *
* * * *              * * * *
* * *                  * * *
* *                      * *
*                          *

Time Complexity: O(n2)
Auxiliary Space: O(1)

Program to print the following pattern:

Examples:

Input : 9 [For Odd number]
Output: 
\*******/
*\*****/*
**\***/**
***\*/***
****/****
***/*\***
**/***\**
*/*****\*
/*******\

Input : 8 [For Even number]
Output :
\******/
*\****/*
**\**/**
***\/***
***/\***
**/**\**
*/****\*
/******\

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Code implementation to print the given pattern:

C++




// C++ program to print the given pattern
#include <bits/stdc++.h>
using namespace std;
 
void pattern(int n)
{
    // for traversing of rows
    for (int i = 1; i <= n; i++) {
        // for traversing of columns
        for (int j = 1; j <= n; j++) {
            // conditions for left-diagonal and
            // right-diagonal
            if (i == j || i + j == (n + 1)) {
                if (i + j == (n + 1)) {
                    cout << "/";
                }
                else {
                    cout << "\\";
                }
            }
            else
                cout << "*";
        }
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    pattern(9);
    return 0;
}
// This code is contributed by Nitin Kumar

Python3




# Python3 program to print the given pattern
def pattern(n):
  # For traversing of rows
  for i in range(1, n+1):
    # For traversing of columns
    for j in range(1, n+1):
      # Conditions for left-diagonal and right-diagonal
      if i == j or i+j == n+1:
        if i+j == (n+1):
          print('/', end = '')
        else:
          print('\\', end = '')
      else:
        print('*', end = '')
    print('')
     
#Driver Code
if __name__ == '__main__':
  n = 8
  pattern(n)
   
  # This code is contributed by Mahendra Varma

Output

\*******/
*\*****/*
**\***/**
***\*/***
****/****
***/*\***
**/***\**
*/*****\*
/*******\

Time Complexity: O(n2)
Auxiliary Space: O(1)

Program to print the following pattern:

Examples  :

Input : 8
Output : 
7 6 5 4 3 2 1 0 
6 5 4 3 2 1 0   
5 4 3 2 1 0     
4 3 2 1 0       
3 2 1 0         
2 1 0           
1 0             
0  

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Code implementation to print the given pattern:

C++




// C++ program to print the given pattern
#include <bits/stdc++.h>
using namespace std;
 
void pattern(int n)
{
    // for traversing of rows
    for (int i = 1; i <= n; i++) {
        int k = n - i;
        // for traversing of columns
        for (int j = 1; j <= n; j++) {
            if (j <= (n + 1) - i) {
                cout << k << " ";
                k--;
            }
            else {
                cout << "  ";
            }
        }
        cout << endl;
    }
}
 
// Driver Code
int main()
{
    pattern(8);
    return 0;
}
 
// This code is contributed by Nitin Kumar

Output

7 6 5 4 3 2 1 0 
6 5 4 3 2 1 0   
5 4 3 2 1 0     
4 3 2 1 0       
3 2 1 0         
2 1 0           
1 0             
0               

Time Complexity: O(n2)
Auxiliary Space: O(1)

Program to print the following pattern :

Examples:

Input: 7
Output: 
1 
8 2 
14 9 3 
19 15 10 4 
23 20 16 11 5 
26 24 21 17 12 6 
28 27 25 22 18 13 7 

Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Code implementation to print the given pattern:

C++




// C++ program to print the given pattern
#include <bits/stdc++.h>
using namespace std;
 
void pattern(int n)
{
    int p, k = 1;
    // for traversing of rows
    for (int i = 1; i <= n; i++) {
        p = k;
        // for traversing of columns
        for (int j = 1; j <= i; j++) {
            cout << p << " ";
            p = p - (n - i + j);
        }
        cout << endl;
        k = k + 1 + (n - i);
    }
}
 
// Driver Code
int main()
{
    pattern(7);
    return 0;
}
 
// This code is contributed by Nitin Kumar

Output

1 
8 2 
14 9 3 
19 15 10 4 
23 20 16 11 5 
26 24 21 17 12 6 
28 27 25 22 18 13 7 

Time Complexity: O(n2)
Auxiliary Space: O(1)

This article is contributed by Nitin Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!