Program to print the given Z Pattern - GeeksforGeeks

22 Apr, 2021
Given an integer N, the task is to print the Alphabet Z Pattern as given below: 
1 2 3 * * * N
          *
        *
      *
    3
  2
1 2 3 * * * N
Examples:  
Input: N = 5
Output: 
1 2 3 4 5 
      4
    3
  2
1 2 3 4 5

Input: N = 4
Output: 
1 2 3 4
    3
  2
1 2 3 4        
 
Approach: 
Print the first row with 1 to N numbers.
Then from 2nd to (N-1)th row, print 2 * (N – index – 1) times blank spaces followed by the ending element which is index – 1.
Print the last row with 1 to N numbers.
Below is the implementation of the above approach:  
C++
C
Java
Python3
C#
PHP
Javascript
// C++ implementation of the approach#include <iostream>using namespace std; // Function to print the desired// Alphabet Z Patternvoid alphabetPattern(int N){     int index, side_index, size;     // Declaring the values of Right,    // Left and Diagonal values    int Top = 1, Bottom = 1, Diagonal = N - 1;     // Loop for printing the first row    for (index = 0; index < N; index++)        cout << Top++ << " ";     cout << endl;     // Main Loop for the rows from (2 to n-1)    for (index = 1; index < N - 1; index++) {         // Spaces for the diagonals        for (side_index = 0; side_index < 2 * (N - index - 1);             side_index++)            cout << " ";         // Printing the diagonal values        cout << Diagonal--;         cout << endl;    }     // Loop for printing the last row    for (index = 0; index < N; index++)        cout << Bottom++ << " ";} // Driver Codeint main(){    // Number of rows    int N = 5;     alphabetPattern(N);     return 0;}
// C implementation of the approach#include <stdio.h> // Function to print the desired// Alphabet Z Patternvoid alphabet_Z_Pattern(int N){    int index, side_index, size;     // Declaring the values of Right,    // Left and Diagonal values    int Top = 1, Bottom = 1, Diagonal = N - 1;     // Loop for printing the first row    for (index = 0; index < N; index++)        printf("%d ", Top++);     printf("\n");     // Main Loop for the rows from (2 to n-1)    for (index = 1; index < N - 1; index++) {         // Spaces for the diagonals        for (side_index = 0; side_index < 2 * (N - index - 1);             side_index++)            printf(" ");         // Printing the diagonal values        printf("%d", Diagonal--);         printf("\n");    }     // Loop for printing the last row    for (index = 0; index < N; index++)        printf("%d ", Bottom++);} // Driver Codeint main(){    // Size of the Pattern    int N = 5;     alphabet_Z_Pattern(N);     return 0;}
// Java implementation of the approach class GFG{// Function to print the desired// Alphabet Z Patternstatic void alphabetPattern(int N){     int index, side_index;     // Declaring the values of Right,    // Left and Diagonal values    int Top = 1, Bottom = 1, Diagonal = N - 1;     // Loop for printing the first row    for (index = 0; index < N; index++)        System.out.print(Top++ + " ");     System.out.println();     // Main Loop for the rows from (2 to n-1)    for (index = 1; index < N - 1; index++)    {         // Spaces for the diagonals        for (side_index = 0;             side_index < 2 * (N - index - 1);            side_index++)            System.out.print(" ");         // Printing the diagonal values        System.out.print(Diagonal--);         System.out.println();    }     // Loop for printing the last row    for (index = 0; index < N; index++)        System.out.print(Bottom++ + " ");} // Driver Codepublic static void main(String args[]){    // Number of rows    int N = 5;     alphabetPattern(N);}} // This code is contributed// by Akanksha Rai
# Python 3 implementation of the approach # Function to print the desired# Alphabet Z Patterndef alphabetPattern(N):     # Declaring the values of Right,    # Left and Diagonal values    Top, Bottom, Diagonal = 1, 1, N - 1     # Loop for printing the first row    for index in range(N):        print(Top, end = ' ')        Top += 1    print()     # Main Loop for the rows from (2 to n-1)    for index in range(1, N - 1):         # Spaces for the diagonals        for side_index in range(2 * (N - index - 1)):            print(' ', end = '')         # Printing the diagonal values        print(Diagonal, end = '')        Diagonal -= 1        print()     # Loop for printing the last row    for index in range(N):        print(Bottom, end = ' ')        Bottom += 1 # Driver Code # Number of rowsN = 5alphabetPattern(N) # This code is contributed# by SamyuktaSHegde
// C# implementation of the approachusing System; class GFG{// Function to print the desired// Alphabet Z Patternstatic void alphabetPattern(int N){     int index, side_index;     // Declaring the values of Right,    // Left and Diagonal values    int Top = 1, Bottom = 1, Diagonal = N - 1;     // Loop for printing the first row    for (index = 0; index < N; index++)        Console.Write(Top++ + " ");     Console.WriteLine();     // Main Loop for the rows from (2 to n-1)    for (index = 1; index < N - 1; index++)    {         // Spaces for the diagonals        for (side_index = 0; side_index < 2 * (N - index - 1);            side_index++)            Console.Write(" ");         // Printing the diagonal values        Console.Write(Diagonal--);         Console.WriteLine();    }     // Loop for printing the last row    for (index = 0; index < N; index++)        Console.Write(Bottom++ + " ");} // Driver Codepublic static void Main(){    // Number of rows    int N = 5;     alphabetPattern(N);}} // This code is contributed// by Akanksha Rai
<?php// PHP implementation of the approach // Function to print the desired// Alphabet Z Patternfunction alphabetPattern($N){     $index; $side_index; $size;     // Declaring the values of Right,    // Left and Diagonal values    $Top = 1; $Bottom = 1; $Diagonal = $N - 1;     // Loop for printing the first row    for ($index = 0; $index < $N; $index++)        echo $Top++ . " ";     echo "\n";     // Main Loop for the rows from (2 to n-1)    for ($index = 1; $index < $N - 1; $index++)    {         // Spaces for the diagonals        for ($side_index = 0;             $side_index < 2 * ($N - $index - 1);             $side_index++)            echo " ";         // Printing the diagonal values        echo $Diagonal--;         echo "\n";    }     // Loop for printing the last row    for ($index = 0; $index < $N; $index++)        echo $Bottom++ . " ";} // Driver Code // Number of rows$N = 5; alphabetPattern($N); // This code is contributed by Akanksha Rai
<script>       // JavaScript implementation of the approach       // Function to print the desired      // Alphabet Z Pattern      function alphabetPattern(N)      {        var index, side_index, size;         // Declaring the values of Right,        // Left and Diagonal values        var Top = 1,          Bottom = 1,          Diagonal = N - 1;         // Loop for printing the first row        for (index = 0; index < N; index++) {          document.write(Top + "  ");          Top++;        }         document.write("<br>");         // Main Loop for the rows from (2 to n-1)        for (index = 1; index < N - 1; index++) {          // Spaces for the diagonals          for (side_index = 0; side_index <           2 * (N - index - 1); side_index++)            document.write("  ");           // Printing the diagonal values          document.write(Diagonal);          Diagonal--;           document.write("<br>");        }         // Loop for printing the last row        for (index = 0; index < N; index++) {          document.write(Bottom + "  ");          Bottom++;        }      }       // Driver Code      // Number of rows      var N = 5;      alphabetPattern(N);        </script>
1 2 3 4 5 
      4
    3
  2
1 2 3 4 5
 
SamyuktaSHegde
Akanksha_Rai
rdtank
pattern-printing
C++ Programs
School Programming
pattern-printing
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
C++ Program for QuickSort
cin in C++
delete keyword in C++
Shallow Copy and Deep Copy in C++
Check if given number is perfect square
Python Dictionary
Arrays in C/C++
Reverse a string in Java
Inheritance in C++
C++ Classes and Objects