Advertisement
Mr_kindle

numberpattern.c

Nov 30th, 2022 (edited)
45
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.11 KB | Source Code | 0 0
  1. /*
  2.     Name: numberpattern.c
  3.     Copyright:
  4.     Author: Mr.Kindle (youtube: Mr_Kindle)
  5.     Date: 30-11-22 23:13
  6.     Description: this code print following number of patterns if number of rows = 4.
  7.                    1
  8.                   212
  9.                  32123
  10.                 4321234
  11.                  32123
  12.                   212
  13.                    1
  14. YOUTUBE: https://youtu.be/mIXF8x0FV_c
  15.                
  16. */
  17.  
  18.  
  19. #include <stdio.h>
  20. int main()
  21. {
  22.   int n, c, k,j,flag;
  23.  
  24.   printf("Enter number of rows (less than 9 for better result)\n");
  25.   scanf("%d", &n);
  26. /*First make upper triangle*/
  27.   for (k=1; k<=n; k++)//
  28.   {     /*for printing the spaces*/
  29.         for (c=1; c<=n-k; c++)
  30.             printf(" ");
  31.        
  32.         j=k;// so that the value of 'k' doesnot alter.
  33.         flag=0;
  34.        
  35.         /*for printing the numbers*/
  36.        
  37.         /*there are '2k - 1' number of element in each 'kth' row.*/
  38.         for (c = 1; c <= 2*k-1; c++)
  39.             {   if(j==1)
  40.                     {    printf("%d",j++);
  41.                          flag++;//flag indicates that value 1 has reached
  42.                     }
  43.                 else if (flag != 0)//once we get 1 after that increased value should be printed
  44.                     printf("%d",j++);
  45.                 else  //value should be printed in descending order till we get 1;
  46.                     printf("%d",j--);
  47.    
  48.              }
  49.  
  50.         printf("\n");
  51.   }//for loop for upper triangle
  52.  
  53.   /*making lower inverse triangle*/
  54.  
  55.     for (k=1; k<=n-1; k++)//we will print 1 line less hence 'k<=n-1' instead of 'k<=n.
  56.         {
  57.    
  58.             for (c=1; c<=k; c++)
  59.                 printf(" ");
  60.                
  61.             j=n-k;
  62.             flag=0;
  63.  
  64.             for (c=1 ; c<=2*(n-k)-1; c++)
  65.                 {  
  66.                     if(j==1)
  67.                         {   printf("%d",j++);
  68.                             flag++;
  69.                         }
  70.                     else if (flag!=0)
  71.                         printf("%d",j++);
  72.                     else
  73.                         printf("%d",j--);
  74.                 }
  75.  
  76.             printf("\n");
  77.         }
  78.  
  79.     return 0;
  80. }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement