Qn: Write the logic to print the triangle pattern as follows
  Type-1           Type-2
  1                1 2 3 4 5
  1 2              1 2 3 4
  1 2 3            1 2 3
  1 2 3 4          1 2
  1 2 3 4 5        1
                   
  Type-3           Type-4
  1                5 4 3 2 1
  2 1              4 3 2 1 
  3 2 1            3 2 1 
  4 3 2 1          2 1 
  5 4 3 2 1        1 
-By Admin, Last Update On 30th May,2019 09:50 am

Type-1

இதில் கொடுக்கப்பட்டுள்ள pattern-ஐ நன்றாக கவனியுங்கள். இதில் முதல் row என்றால் ஒரே ஒரு number. அதாவது ஒரே ஒரு column வந்துள்ளது. இரண்டாவது row என்றால் இரண்டு numbers. அதாவது இரண்டு columns, 1 மற்றும் 2 என வந்துள்ளது. இதே போல் ஒவ்வொரு row-விழும் அந்த row என்னவோ அத்தனை columns-ம் வந்துள்ளது.

row-ன் value எவ்வளவு உள்ளதோ அதேபோல் column-ம் அத்தனை வரவேண்டும். பிறகு column value-ஐ print செய்தால் போதும். இதுவே இதில் அடங்கயுள்ள logic. இதற்க்கு இரண்டு loop பயன்படுத்த வேண்டும். முதல் for() loop row-விற்கும் இரண்டாவது for() loop column-திறக்கும் பயன்படுத்தவேண்டும்.

முதல் for() loop 1-லிருந்து n-வரை சுற்றவேண்டும். இரண்டாவது for() loop 1-லிருந்து தற்பொழுது row-ன் value என்னவோ அதுவரை சுற்றினாலே போதுமானது. அப்பொழுதுதான் row-ன் value எவ்வளவு உள்ளதோ அத்தனை column நமக்கு கிடைக்கும்.

அதற்காகத்தான் loop ஆனது கீழ்க்கண்டவாறு பயன்படுதபட்டுளது.

for(int row=1;row<=n;row++){
   for(int col=1;col<=row;col++){
   }
}

இபொழுது col-ன் value-ஐ print செய்யவேண்டும். print statement கொடுக்கும்போது கவனமாக கொடுக்கவேண்டும். அதாவது System.out.print() என்று தான் print செய்யவேண்டும். ஏனெனில் print()-க்கு பதிலாக println() பயன்படுத்தினால் ஒவ்வொரு element-ம் ஒவ்வொரு row-ல் print செய்த்டுவிடும்.

ஒரு row-ல் உள்ள அனைத்து column-களும் print ஆன பிறகுதான் அடுத்த row-ல் element print ஆக துவங்கவேண்டும். அதற்காகத்தான் inner for() loop அதாவது இரண்டாவது for() loop முடிந்த பிறகு தான் System.out.println(); பயன்படுத்தவேண்டும். ஏனெனில் இந்த for() loop தான் அனைத்து column value-கலையும் print செய்து முடிக்கின்றது.

for(int row=1;row<=n;row++){
   for(int col=1;col<=row;col++){
	System.out.print(col);
   }
System.out.println();
}

Program

import java.util.Scanner;
public class PrintTriangle{
  public static void main(String args[]){
      Scanner sn=new Scanner(System.in);
      System.out.print("Enter how many rows you want: ");
      int n=sn.nextInt();
      for(int row=1;row<=n;row++){
          for(int col=1;col<=row;col++){
              System.out.print(col);
          }
      System.out.println();
      }
  }
}
Output:
Enter how many rows you want: 6
1
1 2
1 2 3
1 2 3 4
1 2 3 4 5
1 2 3 4 5 6
இதில் col value print செய்வதற்கு பதிலாக "*" print செய்தால் கீழ்க்கண்டவாறு output கிடைக்கும்
Enter how many rows you want: 5
*
* *
* * *
* * * *
* * * * *

Type-2

மேற்கண்ட அதே program logic-ல் row-ன் value 1-லிருந்து துவங்கி n-ல் முடிவதற்கு பதிலாக n-லிருந்து துவங்கி 1-ல் முடியவேண்டும் அதாவது for(int row=n;row>=1;row--). எனில் கீழ்க்கண்டவற்று output கிடைக்கும்.

Program

import java.util.Scanner;
public class PrintTriangle{
  public static void main(String args[]){
      Scanner sn=new Scanner(System.in);
      System.out.print("Enter how many rows you want: ");
      int n=sn.nextInt();
      for(int row=n;row>=1;row--){
          for(int col=1;col<=row;col++){
              System.out.print(col);
          }
      System.out.println();
      }
  }
}
Output:
Enter how many rows you want: 6
1 2 3 4 5 6
1 2 3 4 5
1 2 3 4
1 2 3
1 2
1
printing in "*"
Enter how many rows you want: 5
* * * * *
* * * *
* * *
* *
*

Type-3

மேற்கண்ட Type-1 program logic-ல் col-ன் value 1-லிருந்து துவங்கி row-ல் முடிவதற்கு பதிலாக row-லிருந்து துவங்கி 1-ல் முடியவேண்டும் அதாவது for(int col=row;col>=1;col--). எனில் கீழ்க்கண்டவற்று output கிடைக்கும்.

Program

import java.util.Scanner;
public class PrintTriangle{
  public static void main(String args[]){
      Scanner sn=new Scanner(System.in);
      System.out.print("Enter how many rows you want: ");
      int n=sn.nextInt();
      for(int row=1;row<=n;row++){
          for(int col=row;col>=1;col--){
              System.out.print(col);
          }
      System.out.println();
      }
  }
}
Output:
Enter how many rows you want: 6
1 
2 1 
3 2 1 
4 3 2 1 
5 4 3 2 1 
6 5 4 3 2 1

Type-4

மேற்கண்ட Type-3 program logic-ல் row-ன் value 1-லிருந்து துவங்கி n-ல் முடிவதற்கு பதிலாக n-லிருந்து துவங்கி 1-ல் முடியவேண்டும் அதாவது for(int row=n;row>=1;row--). எனில் கீழ்க்கண்டவற்று output கிடைக்கும்.

Program

import java.util.Scanner;
public class PrintTriangle{
  public static void main(String args[]){
      Scanner sn=new Scanner(System.in);
      System.out.print("Enter how many rows you want: ");
      int n=sn.nextInt();
      for(int row=n;row>=1;row--){
          for(int col=row;col>=1;col--){
              System.out.print(col);
          }
      System.out.println();
      }
  }
}
Output:
Enter how many rows you want: 6
6 5 4 3 2 1 
5 4 3 2 1 
4 3 2 1 
3 2 1 
2 1 
1

Pgcomments

Comments