Se citesc de la tastatura: un numar natural n si apoi n numere naturale cu cel mult 3 cifre fiecare. Sa se afiseze in fisierul text UNU.TXT, pe o singura linie si separate prin spatiu : suma celor n numere date, apoi suma primelor n-1 numere dintre cele date, apoi suma primelor n-2 si asa mai departe astfel incat ultima valoare afisata sa fie suma primelor doua numere.
Exemplu : daca n=4 si se dau numerele : 1, 7, 3, 4 fisierul UNU.TXT va avea continutul : 15 11 8
artur99:
Pff, trebuie să dai edit :)) are un bug site-ul, și uneori când pui < în text, totul după el dispare
Răspunsuri la întrebare
Răspuns de
1
O metodă simplă de rezolvare, dacă nu mă înșel ar fi să faci așa:
Presupunem șirul: 2 3 2 4
Facem un nou vector v
v[1] = 2;
v[2] = v[1] + 3;
v[3] = v[2] + 2;
v[4] = v[3] + 4;
Deci, cum ar veni - pe fiecare element din vector suma numerelor până acolo, deci 2, 5, 7, 11 :D Și apoi doar iei vectorul din celălalt capăt și îl scrii în fișier.
Aplicat, ar fi ceva de genul:
int i, n, t;
cin>>n;
int v[n+1];
cin>>t; //citim primul număr
v[1] = t; //apoi îl punem în vector
//apoi citim următoarele n-1 numere rămase
for(i=2;i<=n;i++){
cin>>t; //citim
v[i] = t + v[i-1];
}
//Acum scriem invers în fișier (presupunem că g ar fi fișierul)
for(i=n;i>1;i--){
g<<v[i]<<" ";
}
N-am compilat codul ca să verific dacă funcționează, dar cam asta ar fi metoda de rezolvare
Presupunem șirul: 2 3 2 4
Facem un nou vector v
v[1] = 2;
v[2] = v[1] + 3;
v[3] = v[2] + 2;
v[4] = v[3] + 4;
Deci, cum ar veni - pe fiecare element din vector suma numerelor până acolo, deci 2, 5, 7, 11 :D Și apoi doar iei vectorul din celălalt capăt și îl scrii în fișier.
Aplicat, ar fi ceva de genul:
int i, n, t;
cin>>n;
int v[n+1];
cin>>t; //citim primul număr
v[1] = t; //apoi îl punem în vector
//apoi citim următoarele n-1 numere rămase
for(i=2;i<=n;i++){
cin>>t; //citim
v[i] = t + v[i-1];
}
//Acum scriem invers în fișier (presupunem că g ar fi fișierul)
for(i=n;i>1;i--){
g<<v[i]<<" ";
}
N-am compilat codul ca să verific dacă funcționează, dar cam asta ar fi metoda de rezolvare
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă