SHARE
TWEET

6.4 Сума од суми

Mihajlo_K Mar 19th, 2019 77 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /* Нека е дадена низа од целобројни елементи A=ai, каде 0 ≤ i < 100. Големината на низата и елементите се внесуваат од стандарден влез. Да се напише програма што ќе формира нова низа B=bi, каде 0 ≤ i < 100, така што bi се пресметува како збир од позитивните броеви во оригиналната низа што се наоѓаат пред него на следниот начин:
  2.  
  3. b0=0,b1=a0,…bi=а0+(а0+а1)+(а0+а1+а2)+(а0+...+ai−1).
  4. Новата низа B да се испечати на стандарден излез. Задачата да се реши со рекурзивна функција за пресметување на сумите.
  5.  
  6. Забелешка: Елементот на позиција 0 во резултантната низа има вредност 0. Доколку нема позитивни елементи, резултатот е 0. */
  7.  
  8. #include <stdio.h>
  9. int suma(int a[], int x)
  10. {
  11.     if(x == 0)
  12.     {
  13.         return a[x];
  14.     }
  15.     else
  16.     {
  17.         return a[x] + suma(a, x-1);
  18.     }
  19. }
  20. int main()
  21. {
  22.     int n, i, r, j;
  23.     scanf("%d", &n);
  24.     int a[n], b[n];
  25.     for(i = 0; i < n; i++)
  26.     {
  27.         scanf("%d", &a[i]);
  28.         if(a[i] < 0)
  29.         {
  30.             a[i] = 0;
  31.         }
  32.     }
  33.     b[0] = 0;
  34.     for(i = 1; i < n; i++)
  35.     {
  36.         r = 0;
  37.         for(j = 1; j <= i; j++)
  38.         {
  39.             r = r + suma(a, j-1);
  40.         }
  41.         b[i] = r;
  42.     }
  43.     for(i = 0; i < n; i++)
  44.     {
  45.         printf("%d\n", b[i]);
  46.     }
  47.     return 0;
  48. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top