Clasa a IX-a · Tablouri unidimensionale (vectori)Read in English
Suma elementelor de pe pozițiile pare și impare în C++
În engleză: Sum of the elements on even and odd positions
Ideea
Atenție la diferența dintre poziție (indicele i) și valoare (v[i]). Paritatea se verifică aici pentru indice: v[2], v[4], ... sunt pe poziții pare. Se afișează suma pe poziții pare, apoi pe impare.
Descrierea în engleză
Mind the difference between the position (the index i) and the value (v[i]). Parity is checked here for the index: v[2], v[4], ... are on even positions. The sum on even positions is printed, then the sum on odd ones.
- Complexitate
- O(n)
- Clasa
- Clasa a IX-a (Grade 9)
Exemple
Intrare
6 5 1 8 2 7 3
Ieșire așteptată
6 20
Codul C++
Codul complet, cu comentarii în română. Îl poți modifica liber și îl poți reseta oricând.
/*
* Titlu: Suma elementelor de pe pozițiile pare și impare
* Clasa: 9
* Capitol: Tablouri unidimensionale (vectori)
* Descriere: Atenție la diferența dintre poziție (indicele i) și valoare (v[i]).
* Paritatea se verifică aici pentru indice: v[2], v[4], ... sunt pe
* poziții pare. Se afișează suma pe poziții pare, apoi pe impare.
* Complexitate: O(n)
*
* Exemplu
* Intrare:
* 6
* 5 1 8 2 7 3
* Ieșire: 6 20
*/
#include <iostream>
using namespace std;
int v[1001];
int main()
{
int n;
long long sumaPare = 0, sumaImpare = 0;
cin >> n;
for (int i = 1; i <= n; i++)
{
cin >> v[i];
}
for (int i = 1; i <= n; i++)
{
if (i % 2 == 0)
{
sumaPare = sumaPare + v[i];
}
else
{
sumaImpare = sumaImpare + v[i];
}
}
cout << sumaPare << ' ' << sumaImpare << '\n';
return 0;
}
Rulează pe un g++ adevărat (C++17, -O2) prin Compiler Explorer. Programele trebuie să se termine repede: există o limită de timp.