Program to print numbers with diamond pattern
Last Updated :
20 Feb, 2023
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++
#include<iostream>
using namespace std;
void display( int n)
{
int sp = n / 2, st = 1;
for ( int i = 1; i <= n; i++)
{
for ( int j = 1; j <= sp; j++)
cout << " " ;
int count = st / 2 + 1;
for ( int k = 1; k <= st; k++)
{
cout << count;
if (k <= st / 2)
count--;
else
count++;
}
cout << endl;
if (i <= n / 2)
{
sp = sp - 1;
st = st + 2;
}
else
{
sp = sp + 1;
st = st - 2;
}
}
}
int main()
{
int n = 7;
display(n);
}
|
Java
import java.util.Scanner;
class Pattern {
void display( int n)
{
int sp = n / 2 , st = 1 ;
for ( int i = 1 ; i <= n; i++) {
for ( int j = 1 ; j <= sp; j++)
System.out.print( " " );
int count = st / 2 + 1 ;
for ( int k = 1 ; k <= st; k++) {
System.out.print(count);
if (k <= st / 2 )
count--;
else
count++;
}
System.out.println();
if (i <= n / 2 ) {
sp = sp - 1 ;
st = st + 2 ;
}
else {
sp = sp + 1 ;
st = st - 2 ;
}
}
}
public static void main(String[] args)
{
Pattern p = new Pattern();
int n = 7 ;
p.display(n);
}
}
|
Python3
def display(n):
sp = n / / 2
st = 1
for i in range ( 1 , n + 1 ):
for j in range ( 1 , sp + 1 ):
print ( " " , end = ' ' )
count = st / / 2 + 1
for k in range ( 1 , st + 1 ):
print (count, end = ' ' )
if (k < = (st / / 2 )):
count - = 1
else :
count + = 1
print ()
if (i < = n / / 2 ):
sp - = 1
st + = 2
else :
sp + = 1
st - = 2
n = 7
display(n)
|
C#
using System;
class Pattern {
void display( int n)
{
int sp = n / 2, st = 1;
for ( int i = 1; i <= n; i++) {
for ( int j = 1; j <= sp; j++)
Console.Write( " " );
int count = st / 2 + 1;
for ( int k = 1; k <= st; k++) {
Console.Write(count);
if (k <= st / 2)
count--;
else
count++;
}
Console.WriteLine();
if (i <= n / 2) {
sp = sp - 1;
st = st + 2;
}
else {
sp = sp + 1;
st = st - 2;
}
}
}
public static void Main()
{
Pattern p = new Pattern();
int n = 7;
p.display(n);
}
}
|
PHP
<?php
function display( $n )
{
$sp = $n / 2;
$st = 1;
for ( $i = 1; $i <= $n ; $i ++)
{
for ( $j = 1; $j <= $sp ; $j ++)
echo " " ;
$count = $st / 2 + 1;
for ( $k = 1; $k <= $st ; $k ++)
{
echo floor ( $count );
if ( $k <= $st / 2)
$count --;
else
$count ++;
}
echo "\n" ;
if ( $i <= $n / 2)
{
$sp = $sp - 1;
$st = $st + 2;
}
else
{
$sp = $sp + 1;
$st = $st - 2;
}
}
}
$n = 7;
display( $n );
?>
|
Javascript
<script>
function display(n) {
var sp = parseInt(n / 2),
st = 1;
for ( var i = 1; i <= n; i++) {
for ( var j = 1; j <= sp; j++) document.write( " " );
var count = parseInt(st / 2 + 1);
for ( var k = 1; k <= st; k++) {
document.write(count);
if (k <= st / 2) count--;
else count++;
}
document.write( "<br>" );
if (i <= n / 2)
{
sp = sp - 1;
st = st + 2;
}
else
{
sp = sp + 1;
st = st - 2;
}
}
}
var n = 7;
display(n);
</script>
|
Output :
1
212
32123
4321234
32123
212
1
Time complexity: O(n*sp+n*st)
Auxiliary Space: O(1)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...