Advertisement
Mr_kindle

numberpattern.cpp

Nov 30th, 2022
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.09 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.                
  15. */
  16.  
  17.  
  18. #include <iostream>
  19.  
  20. using namespace std;
  21.  
  22. int main()
  23. {
  24.   int n, c, k,j,flag;
  25.  
  26.   cout << "Enter number of rows (less than 9 for better result)\n";
  27.   cin >> n;
  28. /*First make upper triangle*/
  29.   for (k=1; k<=n; k++)//
  30.   {     /*for printing the spaces*/
  31.         for (c=1; c<=n-k; c++)
  32.             printf(" ");
  33.        
  34.         j=k;// so that the value of 'k' doesnot alter.
  35.         flag=0;
  36.        
  37.         /*for printing the numbers*/
  38.        
  39.         /*there are '2k - 1' number of element in each 'kth' row.*/
  40.         for (c = 1; c <= 2*k-1; c++)
  41.             {   if(j==1)
  42.                     {    printf("%d",j++);
  43.                          flag++;//flag indicates that value 1 has reached
  44.                     }
  45.                 else if (flag != 0)//once we get 1 after that increased value should be printed
  46.                     printf("%d",j++);
  47.                 else  //value should be printed in descending order till we get 1;
  48.                     printf("%d",j--);
  49.    
  50.              }
  51.  
  52.         printf("\n");
  53.   }//for loop for upper triangle
  54.  
  55.   /*making lower inverse triangle*/
  56.  
  57.     for (k=1; k<=n-1; k++)//we will print 1 line less hence 'k<=n-1' instead of 'k<=n.
  58.         {
  59.    
  60.             for (c=1; c<=k; c++)
  61.                 printf(" ");
  62.                
  63.             j=n-k;
  64.             flag=0;
  65.  
  66.             for (c=1 ; c<=2*(n-k)-1; c++)
  67.                 {  
  68.                     if(j==1)
  69.                         {   printf("%d",j++);
  70.                             flag++;
  71.                         }
  72.                     else if (flag!=0)
  73.                         printf("%d",j++);
  74.                     else
  75.                         printf("%d",j--);
  76.                 }
  77.  
  78.             printf("\n");
  79.         }
  80.  
  81.     return 0;
  82. }//main
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement