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++
#include<iostream>
using namespace std;
void printPattern( int n)
{
int var1, var = 1;
for ( int i = 1; i <= n; i++)
{
if (i%2!=0)
{
var = var + i - 1;
for ( int j=1; j<=i; j++)
{
if (j==1)
{
cout<<var;
}
else
cout<< "*" <<var;
var++;
}
}
else
{
var1 = var + i -1;
for ( int j=1; j<=i; j++)
{
if (j==1)
{
cout<<var1;
}
else
{
cout<< "*" <<var1;
}
var1--;
}
}
cout<<endl;
}
}
int main()
{
int n = 5;
printPattern(n);
return 0;
}
|
Java
class GFG
{
static void printPattern( int n)
{
int var1, var = 1 ;
for ( int i = 1 ; i <= n; i++)
{
if (i % 2 != 0 )
{
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
{
var1 = var + i - 1 ;
for ( int j = 1 ; j <= i; j++)
{
if (j == 1 )
{
System.out.print(var1);
}
else
{
System.out.print( "*" + var1);
}
var1--;
}
}
System.out.print( "\n" );
}
}
public static void main(String [] arg)
{
int n = 5 ;
printPattern(n);
}
}
|
Python3
def printPattern(n):
var = 0
var = 1
for i in range ( 1 , n + 1 ):
if (i % 2 ! = 0 ):
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 :
var1 = var + i - 1
for j in range ( 1 , i + 1 ):
if (j = = 1 ):
print (var1, end = "")
else :
print ( "*" , end = "")
print (var1, end = "")
var1 - = 1
print ()
n = 5
printPattern(n)
|
C#
using System;
class GFG
{
static void printPattern( int n)
{
int var1, var = 1;
for ( int i = 1; i <= n; i++)
{
if (i % 2 != 0)
{
var = var + i - 1;
for ( int j = 1; j <= i; j++)
{
if (j == 1)
{
Console.Write( var );
}
else
Console.Write( "*" + var );
var ++;
}
}
else
{
var1 = var + i -1;
for ( int j = 1; j <= i; j++)
{
if (j == 1)
{
Console.Write(var1);
}
else
{
Console.Write( "*" + var1);
}
var1--;
}
}
Console.Write( "\n" );
}
}
public static void Main()
{
int n = 5;
printPattern(n);
}
}
|
PHP
<?php
function printPattern( $n )
{
$var1 ; $var = 1;
for ( $i = 1; $i <= $n ; $i ++)
{
if ( $i % 2 != 0)
{
$var = $var + $i - 1;
for ( $j = 1; $j <= $i ; $j ++)
{
if ( $j == 1)
{
echo $var ;
}
else
echo "*" . $var ;
$var ++;
}
}
else
{
$var1 = $var + $i - 1;
for ( $j = 1; $j <= $i ; $j ++)
{
if ( $j == 1)
{
echo $var1 ;
}
else
{
echo "*" . $var1 ;
}
$var1 --;
}
}
echo "\n" ;
}
}
$n = 5;
printPattern( $n );
?>
|
Javascript
<script>
function printPattern(n)
{
var var1,
var2 = 1;
for ( var i = 1; i <= n; i++)
{
if (i % 2 != 0)
{
var2 = var2 + i - 1;
for ( var j = 1; j <= i; j++)
{
if (j == 1)
{
document.write(var2);
}
else document.write( "*" + var2);
var2++;
}
}
else
{
var1 = var2 + i - 1;
for ( var j = 1; j <= i; j++) {
if (j == 1)
{
document.write(var1);
}
else
{
document.write( "*" + var1);
}
var1--;
}
}
document.write( "<br>" );
}
}
var n = 5;
printPattern(n);
</script>
|
Output:
1
3*2
4*5*6
10*9*8*7
11*12*13*14*15
Time Complexity: O(N^2)
Auxiliary Space: O(1)
Last Updated :
11 Aug, 2021
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...