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++ 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 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 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# 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 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
?>
<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)