Program to print numbers with diamond pattern
write a program where each column represents same number according to given example:
Examples :
Input : 5 Output : 1 212 32123 212 1 Input : 7 Output : 1 212 32123 4321234 32123 212 1
C++
// C++ program to print diamond pattern #include<iostream> using namespace std; void display( int n) { // sp stands for space // st stands for number int sp = n / 2, st = 1; // Outer for loop for number of lines for ( int i = 1; i <= n; i++) { // Inner for loop for printing space for ( int j = 1; j <= sp; j++) cout << " " ; // Inner for loop for printing number int count = st / 2 + 1; for ( int k = 1; k <= st; k++) { cout << count; if (k <= st / 2) count--; else count++; } // To goto next line cout << endl; if (i <= n / 2) { // sp decreased by 1 // st increased by 2 sp = sp - 1; st = st + 2; } else { // sp increased by 1 // st decreased by 2 sp = sp + 1; st = st - 2; } } } // Driver code int main() { int n = 7; display(n); } // This code is contributed by Smitha |
Java
// Java program to print diamond pattern import java.util.Scanner; class Pattern { void display( int n) { // sp stands for space // st stands for number int sp = n / 2 , st = 1 ; // Outer for loop for number of lines for ( int i = 1 ; i <= n; i++) { // Inner for loop for printing space for ( int j = 1 ; j <= sp; j++) System.out.print( " " ); // Inner for loop for printing number int count = st / 2 + 1 ; for ( int k = 1 ; k <= st; k++) { System.out.print(count); if (k <= st / 2 ) count--; else count++; } // To goto next line System.out.println(); if (i <= n / 2 ) { // sp decreased by 1 // st increased by 2 sp = sp - 1 ; st = st + 2 ; } else { // sp increased by 1 // st decreased by 2 sp = sp + 1 ; st = st - 2 ; } } } // Driver code public static void main(String[] args) { Pattern p = new Pattern(); int n = 7 ; p.display(n); } } |
Python3
# Python3 program to print diamond pattern def display(n): # sp stands for space # st stands for number sp = n / / 2 st = 1 # Outer for loop for number of lines for i in range ( 1 , n + 1 ): # Inner for loop for printing space for j in range ( 1 , sp + 1 ): print ( " " , end = ' ' ) # Inner for loop for printing number count = st / / 2 + 1 for k in range ( 1 , st + 1 ): print (count, end = ' ' ) if (k < = (st / / 2 )): count - = 1 else : count + = 1 # To go to next line print () if (i < = n / / 2 ): # sp decreased by 1 # st decreased by 2 sp - = 1 st + = 2 else : # sp increased by 1 # st decreased by 2 sp + = 1 st - = 2 # Driver code n = 7 display(n) # This code is contributed by DrRoot_ |
C#
// C# program to print diamond pattern using System; class Pattern { void display( int n) { // sp stands for space // st stands for number int sp = n / 2, st = 1; // Outer for loop for number of lines for ( int i = 1; i <= n; i++) { // Inner for loop for printing space for ( int j = 1; j <= sp; j++) Console.Write( " " ); // Inner for loop for printing number int count = st / 2 + 1; for ( int k = 1; k <= st; k++) { Console.Write(count); if (k <= st / 2) count--; else count++; } // To goto next line Console.WriteLine(); if (i <= n / 2) { // sp decreased by 1 // st increased by 2 sp = sp - 1; st = st + 2; } else { // sp increased by 1 // st decreased by 2 sp = sp + 1; st = st - 2; } } } // Driver code public static void Main() { Pattern p = new Pattern(); int n = 7; p.display(n); } } //This code is contributed by vt_m |
PHP
<?php // php program to print diamond pattern function display( $n ) { // sp stands for space // st stands for number $sp = $n / 2; $st = 1; // Outer for loop for // number of lines for ( $i = 1; $i <= $n ; $i ++) { // Inner for loop for // printing space for ( $j = 1; $j <= $sp ; $j ++) echo " " ; // Inner for loop for // printing number $count = $st / 2 + 1; for ( $k = 1; $k <= $st ; $k ++) { // To hide floating // value using floor() echo floor ( $count ); if ( $k <= $st / 2) $count --; else $count ++; } // for next line echo "\n" ; if ( $i <= $n / 2) { // sp decreased by 1 // st increased by 2 $sp = $sp - 1; $st = $st + 2; } else { // sp increased by 1 // st decreased by 2 $sp = $sp + 1; $st = $st - 2; } } } // Driver code $n = 7; display( $n ); // This article is contributed by mits ?> |
Javascript
<script> // JavaScript program to print diamond pattern function display(n) { // sp stands for space // st stands for number var sp = parseInt(n / 2), st = 1; // Outer for loop for number of lines for ( var i = 1; i <= n; i++) { // Inner for loop for printing space for ( var j = 1; j <= sp; j++) document.write( " " ); // Inner for loop for printing number var count = parseInt(st / 2 + 1); for ( var k = 1; k <= st; k++) { document.write(count); if (k <= st / 2) count--; else count++; } // To goto next line document.write( "<br>" ); if (i <= n / 2) { // sp decreased by 1 // st increased by 2 sp = sp - 1; st = st + 2; } else { // sp increased by 1 // st decreased by 2 sp = sp + 1; st = st - 2; } } } // Driver code var n = 7; display(n); // This code is contributed by rdtank. </script> |
Output :
1 212 32123 4321234 32123 212 1
Time complexity: O(n*sp+n*st)
Auxiliary Space: O(1)
Please Login to comment...