Răspuns :
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
Vă mulțumim că ați vizitat platforma noastră dedicată Informatică. Sperăm că informațiile oferite v-au fost utile. Dacă aveți întrebări sau aveți nevoie de asistență suplimentară, nu ezitați să ne contactați. Așteptăm cu nerăbdare să vă revedem și nu uitați să ne salvați în lista de favorite!