Informatică, întrebare adresată de nutella4ever, 9 ani în urmă

Cerinţa
Se dă un şir cu n numere naturale. Să se afişeze suma primilor n termeni din şir, apoi suma primilor n-1 termeni din şir, şi aşa mai departe.

Date de intrare
Fişierul de intrare sume.in conţine pe prima linie numărul n, iar pe a doua linie n numere naturale separate prin spaţii.

Date de ieşire
Fişierul de ieşire sume.out va conţine n linii, linia i conţinând suma primilor n-i+1 termeni din şir.

Restricţii şi precizări
1 ≤ n ≤ 100
numerele de pe a doua linie a fişierului de intrare vor fi mai mici decât 1000


antoalex23: Ceau
rossetta: ce limbaj de programare?

Răspunsuri la întrebare

Răspuns de rossetta
4
Nu ai precizat in ce limbaj de programare vrei. Am scris in C++.
Nu am pus fisiere. Nu stiu ce sintaxa folosesti tu. Te las pe tine sa le adaugi.

#include <iostream>
using namespace std;

int v[100];
int main() {
  int n, s = 0, i;
  cin >> n;
  for ( i = 0; i < n ; i++) {
    cin >> v[i] ;
    s = s + v[i];
  }
  cout <<s<<endl;
  for ( i = n - 1; i >= 1 ; i--) {
    s = s - v[i];
    cout << s <<endl;  
  }
  return 0;
}

okapi20: omg, tot respectul, mi-a mers, si sunt putine rezlvari la info pe brainly care merg
rossetta: Iti arat si o varianta putin mai scurta
rossetta: #include <iostream>
using namespace std;
int s[101];
int main() {
int n, i, v;
cin >> n;
for ( i = 1; i <= n ; i++) {
cin >> v;
s[i] = s[i - 1] + v;
}
for ( i = n; i >= 1 ; i--)
cout << s[i] <<endl;
return 0;
}
Alte întrebări interesante