Program to print the Zigzag pattern
Given a number N denoting the number of rows. The task is to print the zigzag pattern with N rows as shown in the below examples.
Examples:
Input : N = 3 Output : 1 3*2 4*5*6 Input : N = 5 Output : 1 3*2 4*5*6 10*9*8*7 11*12*13*14*15
Approach:
- Use a for loop for printing the number of rows.
- Use two variables var and var1 for odd and even rows respectively.
- When the row number is odd, calculate starting point of the row and then print and increment the variable simultaneously.
- When the row number is even, calculate corresponding starting point and print and decrement the variable simultaneously.
Below is the implementation of the above approach:
C++
// CPP program to print the given // zigzag pattern #include<iostream> using namespace std; // Function to print the zigzag pattern void printPattern( int n) { int var1, var = 1; for ( int i = 1; i <= n; i++) { // for odd rows if (i%2!=0) { // calculate starting value var = var + i - 1; for ( int j=1; j<=i; j++) { if (j==1) { cout<<var; } else cout<< "*" <<var; var++; } } else // for even rows { var1 = var + i -1; // calculate starting value for ( int j=1; j<=i; j++) { if (j==1) { // print without star cout<<var1; } else { // print with star cout<< "*" <<var1; } var1--; } } cout<<endl; } } // Driver code int main() { int n = 5; printPattern(n); return 0; } |
chevron_right
filter_none
Java
// Java program to print the given // zigzag pattern class GFG { // Function to print the // zigzag pattern static void printPattern( int n) { int var1, var = 1 ; for ( int i = 1 ; i <= n; i++) { // for odd rows if (i % 2 != 0 ) { // calculate starting value var = var + i - 1 ; for ( int j = 1 ; j <= i; j++) { if (j == 1 ) { System.out.print(var); } else System.out.print( "*" + var); var++; } } else // for even rows { var1 = var + i - 1 ; // calculate starting value for ( int j = 1 ; j <= i; j++) { if (j == 1 ) { // print without star System.out.print(var1); } else { // print with star System.out.print( "*" + var1); } var1--; } } System.out.print( "\n" ); } } // Driver code public static void main(String [] arg) { int n = 5 ; printPattern(n); } } // This code is contributed by Smitha |
chevron_right
filter_none
Python3
# Python3 program to print the given # zigzag pattern # Function to print the zigzag pattern def printPattern(n): var = 0 var = 1 for i in range ( 1 , n + 1 ): # for odd rows if (i % 2 ! = 0 ): # calculate starting value var = var + i - 1 for j in range ( 1 , i + 1 ): if (j = = 1 ): print (var, end = "") else : print ( "*" , end = "") print (var, end = "") var + = 1 else : # for even rows var1 = var + i - 1 # calculate starting value for j in range ( 1 , i + 1 ): if (j = = 1 ): # prwithout star print (var1, end = "") else : # prwith star print ( "*" , end = "") print (var1, end = "") var1 - = 1 print () # Driver code n = 5 printPattern(n) # This code is contributed by Mohit kumar |
chevron_right
filter_none
C#
// C# program to print the given // zigzag pattern using System; class GFG { // Function to print the // zigzag pattern static void printPattern( int n) { int var1, var = 1; for ( int i = 1; i <= n; i++) { // for odd rows if (i % 2 != 0) { // calculate starting value var = var + i - 1; for ( int j = 1; j <= i; j++) { if (j == 1) { Console.Write( var ); } else Console.Write( "*" + var ); var ++; } } else // for even rows { var1 = var + i -1; // calculate starting value for ( int j = 1; j <= i; j++) { if (j == 1) { // print without star Console.Write(var1); } else { // print with star Console.Write( "*" + var1); } var1--; } } Console.Write( "\n" ); } } // Driver code public static void Main() { int n = 5; printPattern(n); } } // This code is contributed // by Akanksha Rai(Abby_akku) |
chevron_right
filter_none
PHP
<?php // PHP program to print the given // zigzag pattern // Function to print the zigzag pattern function printPattern( $n ) { $var1 ; $var = 1; for ( $i = 1; $i <= $n ; $i ++) { // for odd rows if ( $i % 2 != 0) { // calculate starting value $var = $var + $i - 1; for ( $j = 1; $j <= $i ; $j ++) { if ( $j == 1) { echo $var ; } else echo "*" . $var ; $var ++; } } else // for even rows { // calculate starting value $var1 = $var + $i - 1; for ( $j = 1; $j <= $i ; $j ++) { if ( $j == 1) { // print without star echo $var1 ; } else { // print with star echo "*" . $var1 ; } $var1 --; } } echo "\n" ; } } // Driver code $n = 5; printPattern( $n ); // This code is contributed by Rajput-Ji ?> |
chevron_right
filter_none
Output:
1 3*2 4*5*6 10*9*8*7 11*12*13*14*15
Recommended Posts:
- Program to print pattern
- Program to print the pattern "GFG"
- Program to print the pattern ‘D’
- Program to print the pattern 'G'
- Program to print the given Z Pattern
- Program to print the given H Pattern
- Program to print Step Pattern
- Program to print Swastika Pattern
- Program to Print the Trapezium Pattern
- Program to print Crown Pattern
- Program to print Kite Pattern
- Program to print pyramid pattern
- Program to print the arrow pattern
- Program to print numeric pattern
- Program to print Hut Star pattern
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.