Program to Print the Trapezium Pattern
Given ‘num’ which indicates number of lines.The task is to print a trapezium pattern in num lines.
Examples:
Input : 4 Output : 1*2*3*4*17*18*19*20 5*6*7*14*15*16 8*9*12*13 10*11 Input : 2 Output : 1*2*5*6 3*4
Algorithm :
step 1. To read num which indicates the number of lines.
step 2.We are diving the pattern into 2 halves that is LHS part and the RHS part.
Ex : When num = 2
LHS –
1*2*
3*
RHS –
5*6
4
step 3.Combining LHS and RHS we get the complete pattern.
C++
// CPP program to print Trapezium Pattern #include <iostream> using namespace std; int main() { int num = 3; int space; int i, j, lterm, rterm; // The terms on the LHS of the pattern lterm = 1; // The terms on the RHS of the pattern rterm = num * num + 1; for (i = num; i > 0; i--) { // To print number of spaces for (space = num; space > i; space--) cout << " " ; for (j = 1; j <= i; j++) { cout << lterm; cout << "*" ; lterm++; } for (j = 1; j <= i; j++) { cout << rterm; if (j < i) printf ( "*" ); rterm++; } // To get the next term on RHS of the Pattern rterm = rterm - (i - 1) * 2 - 1; cout << endl; } } |
Java
// Java program to print Trapezium Pattern public class HelloWorld { public static void trapeziumPattern( int num) { int firsthalf = 1 ; int secondhalf = (num * num) + 1 ; int numOfSpaces = 0 ; // numOfLines is the line number for ( int numOfLines = num; numOfLines >= 1 ; numOfLines--) { // Prints the spaces for each line for ( int numOfSpacesCounter = numOfSpaces; numOfSpacesCounter >= 1 ; numOfSpacesCounter--) { System.out.print( " " ); } // Prints the first half of the trapezium for ( int firstHalfCounter = 1 ; firstHalfCounter <= numOfLines; firstHalfCounter++) { // If it is the last number for a line then // we don't print '*' if (firstHalfCounter == numOfLines) System.out.print((firsthalf++)); else System.out.print((firsthalf++) + "*" ); } // Prints the second half of the trapezium for ( int secondHalfCounter = 1 ; secondHalfCounter <= numOfLines; secondHalfCounter++) { System.out.print( "*" + (secondhalf++)); } System.out.println(); // Calculates the number of Spaces for the next // line numOfSpaces += 2 ; // Calculates the first number of the // second half for the next iteration/line secondhalf = (secondhalf - 1 ) - ((numOfLines - 1 ) * 2 ); } } public static void main(String[] args) { trapeziumPattern( 4 ); // Passing the integer as the argument to // print trapezium pattern } } |
Python 3
# Python 3 program to print # Trapezium Pattern if __name__ = = "__main__" : num = 3 # The terms on the LHS # of the pattern lterm = 1 # The terms on the RHS # of the pattern rterm = num * num + 1 for i in range (num, - 1 , - 1 ): # To print number of spaces for space in range (num, i - 1 , - 1 ): print ( " " , end = "") for j in range ( 1 , i + 1 ): print ( str (lterm) + "*" , end = "") lterm + = 1 for j in range ( 1 , i + 1 ): print (rterm, end = "") if j < i: print ( "*" , end = "") rterm + = 1 # To get the next term on RHS of the Pattern rterm = rterm - (i - 1 ) * 2 - 1 print () # This code is contributed by ChitraNayal |
C#
// C# program to print Trapezium Pattern using System; public class HelloWorld { public static void Main(String[] args) { // Scanner scn = new Scanner(System.in); int num = 3; int space; // System.out.println("Enter number of lines : "); // num = scn.nextInt(); int i, j, lterm, rterm; lterm = 1; // The terms on the LHS of the pattern // The terms on the RHS of the pattern rterm = num * num + 1; for (i = num; i > 0; i--) { // To print number of spaces for (space = num; space > i; space--) Console.Write( " " ); for (j = 1; j <= i; j++) { Console.Write(lterm); Console.Write( "*" ); lterm++; } for (j = 1; j <= i; j++) { Console.Write(rterm); if (j < i) Console.Write( "*" ); rterm++; } // To get the next term on RHS of the Pattern rterm = rterm - (i - 1) * 2 - 1; Console.WriteLine(); } } } // This code is contributed by ankita_saini |
PHP
<?php // PHP program to print // Trapezium Pattern $num = 3; $space ; $i ; $j ; $lterm ; $rterm ; // The terms on the LHS // of the pattern $lterm = 1; // The terms on the // RHS of the pattern $rterm = $num * $num + 1; for ( $i = $num ; $i > 0; $i --) { // To print number of spaces for ( $space = $num ; $space > $i ; $space --) echo " " ; for ( $j = 1; $j <= $i ; $j ++) { echo $lterm ; echo "*" ; $lterm ++; } for ( $j = 1; $j <= $i ; $j ++) { echo $rterm ; if ( $j < $i ) echo "*" ; $rterm ++; } // To get the next term // on RHS of the Pattern $rterm = $rterm - ( $i - 1) * 2 - 1; echo "\n" ; } // This code is contributed // by Akanksha Rai(Abby_akku) ?> |
Javascript
<script> // JavaScript program to print Trapezium Pattern var num = 3; var space; var i, j, lterm, rterm; // The terms on the LHS of the pattern lterm = 1; // The terms on the RHS of the pattern rterm = num * num + 1; for (i = num; i > 0; i--) { // To print number of spaces for (space = num; space > i; space--) document.write( " " ); for (j = 1; j <= i; j++) { document.write(lterm); document.write( "*" ); lterm++; } for (j = 1; j <= i; j++) { document.write(rterm); if (j < i) document.write( "*" ); rterm++; } // To get the next term on RHS of the Pattern rterm = rterm - (i - 1) * 2 - 1; document.write( "<br>" ); } </script> |
Output:
Enter number of lines : 3 1*2*3*10*11*12 4*5*8*9 6*7
Time complexity: O(n2)
space complexity: O(1)
Contact Us