nocturnalmk

lab6-3

Dec 7th, 2011
103
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.35 KB | None | 0 0
  1. /*
  2.     Да се напише програма која што за даден природен број n ќе печати „покажувачка стрелка“
  3.     со ширина n. За n = 3, „покажувачката стрелка“ треба да изгледа вака:
  4.  
  5.     Пример (за n = 3):
  6.  
  7.         *
  8.         **
  9.         ***
  10.         **
  11.         *
  12.  
  13.     Програмата не треба да користи ниту една од контролните структури за повторување.
  14. */
  15.  
  16. #include <stdio.h>
  17.  
  18. void nov_red(int red);
  19. void pecati_zvezdi(int kolku);
  20. int r;
  21. int n;
  22.  
  23.  
  24. void pecati_zvezdi(int kolku) {
  25.     if (kolku > 0) {
  26.         printf("*");
  27.         pecati_zvezdi(kolku-1);
  28.     } else {
  29.         printf("\n");
  30.     }
  31. }
  32.  
  33. void nov_red(int red) {
  34.  
  35.     if (red <= r/2 && red > 0) {
  36.         pecati_zvezdi(red);
  37.         nov_red(red+1);
  38.     } else {
  39.         if (red == n) {
  40.             pecati_zvezdi(n);
  41.             r = 0;
  42.             nov_red(red-1);
  43.         } else {
  44.  
  45.             if (red > 0) {
  46.                 pecati_zvezdi(red);
  47.                 nov_red(red-1);
  48.             } else {
  49.                 return;
  50.             }
  51.  
  52.         }
  53.  
  54.     }
  55.  
  56. }
  57.  
  58. int main() {
  59.  
  60.     printf("Shirocina: ");
  61.     scanf("%d", &n);
  62.     printf("\n");
  63.  
  64.     r = 2*n - 1;
  65.  
  66.     nov_red(1);
  67.  
  68. }
  69.  
Advertisement
Add Comment
Please, Sign In to add comment