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
Răspunsuri la întrebare
Răspuns de
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;
}
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;
}
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
Istorie,
8 ani în urmă
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Engleza,
9 ani în urmă
Limba română,
9 ani în urmă