Un vector conţine maxim 50 de numere întregi. Lungimea vectorului şi elementele sale se citesc de la tastatură. Să se afişeze suma elementelor impare aflate pe poziţiile pare. 3
Pentru a rezolva această problemă în C++, putem utiliza o buclă for pentru a itera prin vector şi a verifica dacă fiecare element îndeplineşte condiţiile date (este impar şi se află pe o poziţie pară). Dacă condiţiile sunt îndeplinite, adăugăm elementul la suma totală.
#include <iostream>
using namespace std;
int main() {
int n, suma = 0;
int vec[50];
// Citirea lungimii vectorului
cout << „Introduceti lungimea vectorului (maximum 50): „;
cin >> n;
// Citirea elementelor vectorului
cout << „Introduceti elementele vectorului: „;
for (int i = 0; i < n; i++) {
cin >> vec[i];
}
// Calcularea sumei elementelor impare de pe pozitiile pare
for (int i = 0; i < n; i += 2) {
if (vec[i] % 2 != 0) {
suma += vec[i];
}
}
// Afisarea sumei
cout << „Suma elementelor impare de pe pozitiile pare este: ” << suma << endl;
return 0;
}
Explicaţii:
- Declaram o variabilă suma pentru a memora suma elementelor impare de pe pozițiile pare.
- Citim lungimea vectorului n.
- Citim elementele vectorului vec.
- Iterăm prin vector cu o buclă for, creșind i-ul cu 2 la fiecare iterație, pentru a ne asigura că ne uităm doar la pozițiile pare. Verificăm dacă elementul de la poziția curentă este impar (folosind operatorul % pentru a verifica dacă restul împărțirii la 2 este diferit de 0). Dacă da, adăugăm elementul la suma totală.
- Afisăm suma calculată.
Notă: În cazul în care vectorul are mai puţin de 2 elemente, nu există poziții pare sau impare. Acest lucru poate fi verificat înainte de bucla for pentru suma și afișarea unui mesaj adecvat în acest caz.