Informatică, întrebare adresată de sikesjack1, 8 ani în urmă

Buna!
Ma poate ajuta cineva cu problema #299 SumeSecv de pe pbinfo??

#299 SumeSecv
Clasa a 9-a Tablouri unidimensionale (vectori) Probleme cu secvențe SumeSecv
Etichete: nicio etichetă


Enunț
Soluții
Cerinţa
Se dă un vector cu n elemente numere naturale, numerotate de la 1 la n, și m perechi de indici (i,j), cu 1≤i
Date de intrare
Fişierul de intrare sumesecv.in conţine pe prima linie numărul n, iar pe a doua linie cele n elemente ale vectorului. Următoarea linie conține numărul m, iar următoarele m linii câte o pereche de indici i j.

Date de ieşire
Fişierul de ieşire sumesecv.out va conţine pe prima linie cele m sume determinate, separate prin câte un spațiu.

Restricţii şi precizări
1 ≤ n ≤ 100
elementele vectorului vor fi mai mici decât 1000
1 ≤ m ≤ 100

Exemplu
sumesecv.in

10
5 5 1 3 6 4 1 2 10 6
3
5 8
2 6
6 10
sumesecv.out

13 19 23


boiustef: e simplă problema... Dacă te gândea-i mai bn, te isprăvea-i

Răspunsuri la întrebare

Răspuns de boiustef
2

Răspuns:

#include <iostream>

#include <fstream>

using namespace std;

ifstream f("sumesecv.in");

ofstream g("sumesecv.out");

int v[101], n, i, j, m, s, k, b;

int main()

{

   f >> n;

   for (i=1; i<=n; ++i)

       f >> v[i];

   f >> m;

   for (k=1; k<=m; ++k)

   {

       f >> i >> j;

       s=0;

       for (b=i; b<=j; ++b)

           s=s+v[b];

       g << s << " ";

   }

}

Explicație:


sikesjack1: Coduul e suuper, al meu semana cu ce ai facut tu, doar ca am vrut sa stochez s intr un vector si am mai creat o variabila k pe care o tot incrementam de cate ori rula s. Acuma am modificat si merge perfect! :) voiam sa te intreb, de ce nu ai pus return la final???
boiustef: c++ nu obligă asta... el încheie codul singur. Dacă ai un subprogram din care forţat vrei să ieşi pui retrn, dar şi în main se poate folosi. Eu în main aproape nu îl mai folosesc, cu toate că e posibll
sikesjack1: am inteles, multumesc!
Alte întrebări interesante