Qn: Write the program logic to print the alphabet in the following pattern using C Program
Enter your Alphabetic letter: E

A 
A B 
A B C 
A B C D 
A B C D E 
A B C D 
A B C 
A B 
A
-By Srishti, Last Update On 28th May,2019 11:06 pm

முதலில் நாம் enter செய்யகூடிய alphabet letter-ன் ASCII value-ஐ கண்டறியவேண்டும். ஏனெனில் அதை வைத்து தான் அடுத்தடுத்த alphabet letter-ஐ எடுக்க முடியும். இதை increase or decrese செய்து எடுத்துகொள்ளலாம். ஒரு character-ஐ ஒரு int variable-க்கு assign செய்துவிட்டால் அந்த character-ன் ascii value கிடைதுவிடும்.

printf("Enter your Alphabetic letter: ");
scanf("%c",let);
int asciinum = (int)let;

Small letter-க்கு ஒருவிதமான ascii values-ம், Capital letter-க்கு ஒருவிதமான ascii values-ம் உள்ளது. ஆகையால் அவற்றை கண்டறிவது மிகவும் அவசியமானது. ஏனெனில் input, small letter-ல் கொடுத்தால் output-ம் small letter-ல் தான் இருக்கவேண்டும். input, capital letter-ஆக இருந்தால் output-ம் capital letter-ல் தான் இருக்கவேண்டும். ascii number 65 லிருந்து 90 வரையிலான number-ஆக இருந்தால் அது capital letter. 97 லிருந்து 123 வரையிலான number-ஆக இருந்தால் அது small letter.

if (asciinum >=65 && asciinum<=90){//capitalletters
        start=65;//starting letter A
    }else if(asciinum>=97 && asciinum<=123){// small letters
        start = 97; //starting letter a
    }

இபொழுது கீழ்க்கண்டவாறு இதை print செய்யவேண்டும். print செயும்போது number-க்கு பதிலாக அந்த number-ன் character-ஐ print செய்யவேண்டும். (char)variable_name இது ஒரு int value-வை character-ஆக மாற்றிவிடும்.

A 
A B 
A B C 
A B C D 
A B C D E 

A B C D 
A B C 
A B 
A

மேற்கண்டவாறு தனித்தனியாக print செய்து ஒன்றாக இணைக்கவேண்டும்.

 for(row=start;row<=asciinum;row++){
      for(col=start;col<=row;col++){
          printf("%c",col);
      }
      printf("\n");
  }
  for(row=(asciinum-1);row>=start;row--){
      for(col=start;col<=row;col++){
          printf("%c",col);
      }
     printf("\n");
  }	

Complete program

#include<stdio.h>
#include<conio.h>
int main(){
  char let;
  int asciinum,start=0,row,col;
  printf("Enter your Alphabetic letter: ");
  scanf("%c",&let);
  asciinum = (int)let; //typecasting
  start = 0;
  if (asciinum >=65 && asciinum<=90){
      start=65;
  }else if(asciinum>=97 && asciinum<=123){
      start = 97;
  }
  for(row=start;row<=asciinum;row++){
      for(col=start;col<=row;col++){
          printf("%c",col);
      }
      printf("\n");
  }
  for(row=(asciinum-1);row>=start;row--){
      for(col=start;col<=row;col++){
          printf("%c",col);
      }
     printf("\n");
  }
return 0;
}
Enter your Alphabetic letter: E
A 
A B 
A B C 
A B C D 
A B C D E 
A B C D 
A B C 
A B 
A  
  

Pgcomments

Comments