Program to print half diamond Number-Star pattern

Given a number N which represents the number of rows. The task is to print a half diamond Number-Star pattern as shown in the below examples.

Note: N is always an even number.

Examples:

Input: N = 4
Output:  2*2
1
1
2*2

Input: N = 6
Output: 3*3*3
2*2
1
1
2*2
3*3*3

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

On carefully observing the above pattern, it can be broken down into two different triangles:

• An upside down right angled triangle.
• A normal right angled triangle.

For the first triangle pattern:

• Run two loops, first will take care of the number of rows and other will take care of the ‘*’ and numbers being printed.
• Inside the loops check whether the iterations of inner loop has reached to the given number of rows or not.
• If yes, print only number, otherwise print ‘*’ and number both.

The same approach will be followed for the second triangle pattern with a slight change that here the condition will be checked where the inner iteration is equal to 0 or not.

Below is the implementation of above approach:

C++

 // C++ program to print half diamond // number star pattern #include using namespace std;    // Function to print the given pattern void printPattern(int r) {     r = r / 2;     int count = r;        // loop to print upper half pattern     for (int i = 0; i < r; i++) {         for (int j = r; j > i; j--) {             if (j != r) {                 cout << "*" << count;             }             else {                 cout << count;             }         }         count--;         cout << endl;     }     count++;        // loop to print lower half pattern     for (int i = 0; i < r; i++) {         for (int j = 0; j <= i; j++) {             if (j != 0) {                 cout << "*" << count;             }             else {                 cout << count;             }         }         count++;         cout << endl;     } }    // Driver code int main() {     int n;            n = 6;            printPattern(n);            return 0; }

Java

 // Java program to print half  // diamond number star pattern class GFG { // Function to print // the given pattern static void printPattern(int r) {     r = r / 2;     int count = r;        // loop to print      // upper half pattern     for (int i = 0; i < r; i++)      {         for (int j = r; j > i; j--)         {             if (j != r)              {                 System.out.print("*" + count);             }             else              {                 System.out.print(count);             }         }         count--;         System.out.print("\n");     }     count++;        // loop to print lower     // half pattern     for (int i = 0; i < r; i++)      {         for (int j = 0; j <= i; j++)          {             if (j != 0)             {                 System.out.print("*" + count);             }             else             {                 System.out.print(count);             }         }         count++;         System.out.print("\n");     } }    // Driver code public static void main(String [] args) {     int n;            n = 6;            printPattern(n); } }    // This code is contributed // by Smitha

Python 3

 # Python 3 program to # print half diamond  # number star pattern     # Function to print the  # given pattern  def printPattern(r) :        r = r // 2     count = r        # loop to print upper     # half pattern     for i in range(r) :         for j in range(r, i, -1) :             if j != r :                 print("*" + str(count),                               end = "")             else :                 print(count, end = "")            count -= 1         print()        count += 1        # loop to print lower     # half pattern     for i in range(r) :         for j in range(i + 1):             if j != 0 :                 print("*" + str(count),                               end = "")             else :                  print(count, end = "")            count += 1         print()    # Driver Code if __name__ == "__main__" :        n = 6        printPattern(n)                # This code is contributed # by ANKITRAI1

C#

 // C++ program to print half diamond // number star pattern    using System;    public class GFG { // Function to print the given pattern static void printPattern(int r) {     r = r / 2;     int count = r;         // loop to print upper half pattern     for (int i = 0; i < r; i++) {         for (int j = r; j > i; j--) {             if (j != r) {                 Console.Write("*" + count);             }             else {                 Console.Write( count);             }         }         count--;         Console.WriteLine();     }     count++;         // loop to print lower half pattern     for (int i = 0; i < r; i++) {         for (int j = 0; j <= i; j++) {             if (j != 0) {                 Console.Write("*" + count);             }             else {                 Console.Write( count);             }         }         count++;         Console.WriteLine();     } }     // Driver code public static void Main() {     int n;             n = 6;             printPattern(n);         } }

PHP

 \$i; \$j--)          {             if (\$j != \$r)              {                 echo "*" . \$count;             }             else              {                 echo \$count;             }         }         \$count--;         echo "\n";     }     \$count++;        // loop to print lower half pattern     for (\$i = 0; \$i < \$r; \$i++)      {         for (\$j = 0; \$j <= \$i; \$j++)          {             if (\$j != 0)              {                 echo "*" . \$count;             }             else              {                 echo \$count;             }         }         \$count++;         echo "\n";     } }    // Driver code \$n = 6;    printPattern(\$n);    // This code is contributed  // by Arnab Kundu  ?>

Output:

3*3*3
2*2
1
1
2*2
3*3*3

My Personal Notes arrow_drop_up If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.