Advertisement
pdaogu

HW7.2

Oct 24th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.21 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <conio.h>
  3.  
  4. int main () {
  5.     int i, j, v, n, m, k, u;    // :(((((
  6.     printf("Enter number n: ");
  7.     scanf("%d", &n);
  8.  
  9.     for (i = 0; i < n; ++i) {
  10.         k = i % n;
  11.         if(k == 0 || k == n-1) {
  12.             m = 0;
  13.             v = n;
  14.         } else {
  15.             m = n - i - 1;
  16.             v = 1;
  17.  
  18.         }
  19.         for (j = 0; j < m; ++j) {
  20.             putchar(' ');
  21.         }
  22.         for (j = 0; j < v; ++j) {
  23.             putchar('*');
  24.         }
  25.         putchar('\n');
  26.     }
  27.     printf("\n\n");
  28.     n = 2 * n + 1;
  29.     for (i = 0; i < n; ++i) putchar('*');
  30.     putchar('\n');
  31.     for (i = 1; i < n-1; ++i) {
  32.         putchar('*');
  33.         m = (n-4) - (i-1)*2;    // Sum of spaces in a line
  34.         if (m == -1) {
  35.             m = -1;
  36.         } else if (m < 0) {
  37.             m = -m - 2;
  38.         }
  39.         // Print edge space
  40.         for (j = 0; j < (n-4-m)/2; ++j)
  41.             putchar(' ');
  42.         putchar('*');
  43.         for (j = 0; j < m; ++j)
  44.             putchar(' ');
  45.         if (m != -1)
  46.             putchar('*');
  47.         for (j = 0; j < (n-4-m)/2; ++j)
  48.             putchar(' ');
  49.         putchar('*');
  50.         putchar('\n');
  51.     }
  52.     for (i = 0; i < n; ++i) putchar('*');
  53.     putchar('\n');
  54.  
  55.     m = 2 * n - 1;
  56.     for (i = 0; i < m; ++i) {
  57.         k = ((i<n) ? i : (m-i-1))*2+1;
  58.         for (j = 0; j < (m-k)/2; ++j) {
  59.             putchar(' ');
  60.         }
  61.         for (j = 0; j < k; ++j) {
  62.             putchar('*');
  63.         }
  64.         putchar('\n');
  65.     }
  66.     getch();
  67.     return 0;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement