Posted by : ANIMESH SHAW Tuesday, 8 November 2011



  1. Write a C program to print the following pattern:
    1
    0 1
    1 0 1
    0 1 0 1
    1 0 1 0 1
  2. Write a C program to print the following pattern:
    0
    1 1
    2 3 5
    8 13 21
  3. Write a C program to print the following pattern:
    1
    121
    12321
    1234321
    12321
    121
    1
  4. Write a C program to print the following pattern:
           2
         4 5 6
       6 7 8 9 10
         4 5 6
           2
  5. Write a C program to print the following pattern:
     1                         1
     3 3 3                 3 3 3
     5 5 5 5 5         5 5 5 5 5
     7 7 7 7 7 7 7 7 7 7 7 7 7 7
     5 5 5 5 5         5 5 5 5 5
     3 3 3                 3 3 3
     1                         1
  6. Write a C program to print the following pattern:
        0
     -2-3 0
    -4-3-2-1 0
     -2-3 0
        0
  7. Write a C program to print the following pattern:
    77777777777
             7
            7
           7
          7
         7
        7
       7
      7
     7
    7
  8. Write a C program to print the following pattern:
     1                       1
     1 0                   1 0
     1 0 1               1 0 1
     1 0 1 0           1 0 1 0
     1 0 1 0 1       1 0 1 0 1
     1 0 1 0 1 0   1 0 1 0 1 0
     1 0 1 0 1 0 1 0 1 0 1 0 1
     1 0 1 0 1 0   1 0 1 0 1 0
     1 0 1 0 1       1 0 1 0 1
     1 0 1 0           1 0 1 0
     1 0 1               1 0 1
     1 0                   1 0
     1                       1
  9. Write a C program to print the following pattern:
    1
    2 4
    3 6 9
    2 4
    1
  10. Write a C program to print the following pattern:
     1
     1 0
     1 0 0
     1 0 0 0
     1 0 0 0 0
     1 0 0 0 0 0
     1 0 0 0 0 0 0
     1 0 0 0 0 0
     1 0 0 0 0
     1 0 0 0
     1 0 0
     1 0
     1
  1. Write a C program to print the following pattern:
  2. 1
    0 1
    1 0 1
    0 1 0 1
    1 0 1 0 1
    Program:
    #include <stdio.h>
    
    int main(void) {
     int i, j;
     for (i = 0; i < 4; i++) {
      for (j = 0; j <= i; j++) {
       if (((i + j) % 2) == 0) {  // Decides on as to which digit to print.
        printf("0");
       } else {
        printf("1");
       }
       printf("\t");
      }
      printf("\n");
     }
     return 0;
    }


    Explanation: This is a right angle triangle composed of 0′s and 1′s.


    End of Question1 

    Start of Question2

  3. Write C program to print the following pattern:
    0
    1 1
    2 3 5
    8 13 21
  4. Program:
    #include <stdio.h>
    
    int main(void) {
     int i, j, a = 0, b = 1, temp = 1;
     for (i = 1; i <= 4; i++) {
      for (j = 1; j <= i; j++) {
       if (i == 1 && j == 1) { // Prints the '0' individually first
        printf("0");
        continue;
       }
       printf("%d ", temp);  // Prints the next digit in the series
       //Computes the series
       temp = a + b;
       a = b;
       b = temp;
       if (i == 4 && j == 3) { // Skips the 4th character of the base
        break;
       }
      }
      printf("\n");
     }
     return 0;
    }


    Explanation: This prints the Fibonacci series in a right angle triangle formation where the base has only three characters.

    End of Question2 

    Start of Question3

  5. Write C program to print the following pattern:
    1
    121
    12321
    1234321
    12321
    121
    1
  6. Program:
    #include <stdio.h>
    
    void sequence(int x);
    int main() {
     /* c taken for columns */
     int i, x = 0, num = 7;
     for (i = 1; i <= num; i++) {
      if (i <= (num / 2) + 1) {
       x = i;
      } else {
       x = 8 - i;
      }
      sequence(x);
      puts("\n");
     }
     return 0;
    }
    
    void sequence(int x) {
     int j;
    
     for (j = 1; j < x; j++) {
      printf("%d", j);
     }
     for (j = x; j > 0; j--) {
      printf("%d", j);
     }
    }


    End of Question3 

    Start of Question4

  7. Write a C program to print the following pattern:
           2
         4 5 6
       6 7 8 9 10
         4 5 6
           2
  8. Program:
    #include <stdio.h>
    
    int main(void) {
     int prnt;
     int i, j, k, r, s, sp, nos = 3, nosp = 2; //nos n nosp controls the spacing factor
     // Prints the upper triangle
     for (i = 1; i <= 5; i++) {
      if ((i % 2) != 0) {
       for (s = nos; s >= 1; s--) {
        printf("  ");
       }
       for (j = 1; j <= i; j++) {
        if (i == 5 && j == 5) { //Provides the extra space reqd betn 9 n 10
         printf(" ");        // as 10 is a 2 digit no.
        }
        prnt = i + j;
        printf("%2d", prnt);
       }
      }
      if ((i % 2) != 0) {
       printf("\n");
       nos--;
      }
     }
     // Prints the lower triangle skipin its base..
     for (k = 3; k >= 1; k--) {
      if ((k % 2) != 0) {
       for (sp = nosp; sp >= 1; sp--) {
        printf("  ");
       }
       for (r = 1; r <= k; r++) {
        prnt = k + r;
        printf("%2d", prnt);
       }
      }
      if ((k % 2) != 0) {
       printf("\n");
       nosp++;
      }
     }
     return 0;
    }


    Explanation: This is a diamond formation composed of numbers. The numbers are in the following order next_no=i+j where
    next_no = The next no to be printed
    i = index of the outer for loop
    j = index of the inner for loop

    End of Question4 

    Start of Question5

  9. Write a C program to print the following pattern:
     1                           1
     3 3 3                   3 3 3
     5 5 5 5 5           5 5 5 5 5
     7 7 7 7 7 7 7   7 7 7 7 7 7 7
     5 5 5 5 5           5 5 5 5 5
     3 3 3                   3 3 3
     1                           1
  10. Program:
    #include <stdio.h>
    
    int main(void) {
     int i, j, k, s, p, q, sp, r, c = 1, nos = 13;
     for (i = 1; c <= 4; i++) {
      if ((i % 2) != 0) {   // Filters out the even line nos.
       for (j = 1; j <= i; j++) { // The upper left triangle
        printf("%2d", i);
       }
       for (s = nos; s >= 1; s--) {  // The spacing factor
        printf("  ");
       }
       for (k = 1; k <= i; k++) { // The upper right triangle
        printf("%2d", i);
       }
       printf("\n");
       nos = nos - 4;  // Space control
       ++c;
      }
     }
     nos = 10;  // Space control re intialized
     c = 1;
     for (p = 5; (c < 4 && p != 0); p--) {
      if ((p % 2) != 0) {  // Filters out the even row nos
       for (q = 1; q <= p; q++) {  // Lower left triangle
        printf("%2d", p);
       }
       for (sp = nos; sp >= 1; sp--) { // Spacing factor
        printf(" ");
       }
       for (r = 1; r <= p; r++) {  // Lower right triangle
        printf("%2d", p);
       }
    
       printf("\n");
       --c;
       nos = nos + 8;  // Spacing control.
      }
     }
    
     return 0;
    }


    Explanation: Here we are printing only the odd row nos along with thier respective line number. This structure can divided into four identical right angle triangles which are kind of twisted and turned placed in a particular format .

    End of Question5 

    Start of Question6

  11. Write a C program to print the following pattern:
        0
     -2-3 0
    -4-3-2-1 0
     -2-3 0
        0
  12. Program:
    #include <stdio.h>
    
    int main(void) {
     int i, j, k, r, s, sp, nos = 2, nosp = 1;
     for (i = 1; i <= 5; i++) {
      if ((i % 2) != 0) {
       for (s = nos; s >= 1; s--) {  //for the spacing factor.
        printf("  ");
       }
       for (j = 1; j <= i; j++) {
        printf("%2d", j-i);
       }
      }
      if ((i % 2) != 0) {
       printf("\n");
       nos--;
      }
     }
     for (k = 3; k >= 1; k--) {
      if ((k % 2) != 0) {
       for (sp = nosp; sp >= 1; sp--) {  // for the spacing factor.
        printf("  ");
       }
       for (r = 1; r <= k; r++) {
        printf("%2d", r-k);
       }
      }
      if ((k % 2) != 0) {
       printf("\n");
       nosp++;
      }
     }
     return 0;
    }


    Explanation:This can be seen as a diamond composed of numbers. If we use the conventional nested for loop for its construction the numbers can be seen to flowing the following function f(x) -> j-i
    where
    j= inner loop index
    i= outer loop index

    End of Question6 

    Start of Question7

  13. Write a C program to print the following pattern:
    77777777777
             7
            7
           7
          7
         7
        7
       7
      7
     7
    7
  14. Program:
    #include <stdio.h>
    
    int main(void) {
     int i, j;
     for (i = 11; i >= 1; i--) {
      for (j = 1; j <= i; j++) {
       if (i == 11) {
        printf("7");  // Makes sure the base is printed completely
        continue;
       } else if (j == i) { // Hollows the rest
        printf("7");
       } else {
        printf(" ");
       }
      }
      printf("\n");
     }
     return 0;
    }

    Explanation: This can be seen as a hollow right-angled triangle composed of 7′s

    End of Question7 

    Start of Question8

  15. Write a C program to print the following pattern:
     1                       1
     1 0                   1 0
     1 0 1               1 0 1
     1 0 1 0           1 0 1 0
     1 0 1 0 1       1 0 1 0 1
     1 0 1 0 1 0   1 0 1 0 1 0
     1 0 1 0 1 0 1 0 1 0 1 0 1
     1 0 1 0 1 0   1 0 1 0 1 0
     1 0 1 0 1       1 0 1 0 1
     1 0 1 0           1 0 1 0
     1 0 1               1 0 1
     1 0                   1 0
     1                       1
  16. Program:
    #include <stdio.h>
    
    int main(void) {
        int i,j,k,s,nos=11;
        for (i=1; i<=7; i++) {
            for (j=1; j<=i; j++) {
                if ((j%2)!=0) {   // Applying the condition
                    printf(" 1");
                } else {
                    printf(" 0");
                }
            }
            for (s=nos; s>=1; s--) {  // Space factor
                printf("  ");
            }
            for (k=1; k<=i; k++) {
                if(i==7 && k==1)  // Skipping the extra 1
                {
                    continue;
                }
                if ((k%2)!=0) {  // Applying the condition
                    printf(" 1");
                } else {
                    printf(" 0");
                }
            }
            printf("\n");
            nos=nos-2;  // Space Control
        }
         nos=1;
         for ( i=6; i>=1; i--) {  // It shares the same base
             for (j=1; j<=i; j++) {
                 if (j%2!=0) {
                     printf(" 1");
                 } else {
                     printf(" 0");
                 }
             }
             for(s=nos; s>=1; s--)  // Spacing factor
             {
                 printf("  ");
             }
             for (k=1; k<=i; k++) {
                 if (k%2!=0) {
                     printf(" 1");
                 } else {
                     printf(" 0");
                 }
             }
             printf("\n");
             nos=nos+2;
         }
        return 0;
    }


    End of Question8 

    Start of Question9

  17. Write a C program to print the following pattern:
    1
    2 4
    3 6 9
    2 4
    1
  18. Program:
    #include <stdio.h>
    int main(void) {
        int i,j;
        for (i=1; i<=3 ; i++) {
            for (j=1; j<=i; j++)  {
                printf("%2d", (i*j));
            }
            printf("\n");
        }
        for (i=2; i>=1; i--) { // As they share the same base
            for (j=1; j<=i; j++)  {
                printf("%2d",i*j);
            }
            printf("\n");
        }
        return 0;
    }
    
    
    
    Explanation: This can be seen as two right angle triangles sharing th same base
    The numbers are following the following function f(x) = i *j
    where
    i = Index of the Outer loop
    j = Index of the inner loop

    End of Question9 

    Start of Question10

  19. Write a C program to print the following pattern:
     1
     1 0
     1 0 0
     1 0 0 0
     1 0 0 0 0
     1 0 0 0 0 0
     1 0 0 0 0 0 0
     1 0 0 0 0 0
     1 0 0 0 0
     1 0 0 0
     1 0 0
     1 0
     1
  20. Program:
    #include <stdio.h>
    
    int main(void) {
        int i,j;
        for (i=1; i<=7; i++) {
            for (j=1; j<=i; j++) {
                if (j==1) {           // Applying the condition
                    printf(" 1");
                } else {
                    printf(" 0");
                }
            }
            printf("\n");
        }
        for (i=6; i>=1; i--) {  //As it shares the same base i=6
            for (j=1; j<=i; j++) {
                if (j==1) {   // Applying the condition
                    printf(" 1");
                } else {
                    printf(" 0");
                }
            }
            printf("\n");
        }
        return 0;
    }

    Explanation: This can be seen as two right angle triangles sharing the same base which is composed of 0′s n 1′s. The first column is filled with 1′s and rest with 0′s

    End of Question10

Popular Post

Blog Archive

Total Pageviews

Sign In

Follow by Email

Powered by Blogger.

Like Us on Facebook

Search This Blog

Loading...

Indian Coder

- Copyright © Programming Mania -Metrominimalist- Powered by Blogger - Designed by Johanes Djogan -