Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Нека е дадена низа од целобројни елементи A=ai, каде 0 ≤ i < 100. Големината на низата и елементите се внесуваат од стандарден влез. Да се напише програма што ќе формира нова низа B=bi, каде 0 ≤ i < 100, така што bi се пресметува како збир од позитивните броеви во оригиналната низа што се наоѓаат пред него на следниот начин:
- b0=0,b1=a0,…bi=а0+(а0+а1)+(а0+а1+а2)+(а0+...+ai−1).
- Новата низа B да се испечати на стандарден излез. Задачата да се реши со рекурзивна функција за пресметување на сумите.
- Забелешка: Елементот на позиција 0 во резултантната низа има вредност 0. Доколку нема позитивни елементи, резултатот е 0. */
- #include <stdio.h>
- int suma(int a[], int x)
- {
- if(x == 0)
- {
- return a[x];
- }
- else
- {
- return a[x] + suma(a, x-1);
- }
- }
- int main()
- {
- int n, i, r, j;
- scanf("%d", &n);
- int a[n], b[n];
- for(i = 0; i < n; i++)
- {
- scanf("%d", &a[i]);
- if(a[i] < 0)
- {
- a[i] = 0;
- }
- }
- b[0] = 0;
- for(i = 1; i < n; i++)
- {
- r = 0;
- for(j = 1; j <= i; j++)
- {
- r = r + suma(a, j-1);
- }
- b[i] = r;
- }
- for(i = 0; i < n; i++)
- {
- printf("%d\n", b[i]);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement