Se consideră un șir a
1
, a
2
, …, a
n
de numere naturale.
Cerințe
- Să se afișeze elementele șirului de la dreapta la stânga.
- Să se calculeze suma valorilor pare din șir.
- Să se determine suma valorilor aflate pe poziții pare în șir.
- Să se determine numărul numerelor din șir care sunt divizibile cu
10
. - Să se determine suma numerelor divizibile cu
3
și aflate pe poziții impare.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi șirul de n
numere naturale, separate prin spații.
Date de ieșire
Programul va afișa pe ecran pe prima linie elementele șirului de la dreapta la stânga. Pe linia a doua se va afișa un singur număr reprezentând suma valorilor pare. Pe linia a treia se va afișa un singur număr reprezentând suma valorilor aflate pe poziții pare în șir. Pe linia a patra se va afișa un singur număr reprezentând numărul numerelor din șir care sunt divizibile cu 10
. Pe linia a cincea se va afișa un singur număr reprezentând suma numerelor divizibile cu 3
și aflate pe poziții impare.
Restricții și precizări
1 ≤ n ≤ 100
0 ≤ a
i
≤ 100
, pentru oricei=1..n
.
Exemplu
Intrare
10 1 2 3 4 5 6 7 8 9 10
Ieșire
10 9 8 7 6 5 4 3 2 1 30 30 1 12
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema pv:
#include <iostream>
using namespace std;
int a[105], n;
int main()
{
int i, s;
/// citire
cin >> n;
for (i = 1; i <= n; i++)
cin >> a[i];
/// 1. afisarea de la dreapta la stanga:
for (i = n; i >= 1; i--)
cout << a[i] << " ";
cout << "\n";
/// 2. Suma valorilor pare
s = 0;
for (i = 1; i <= n; i++)
if (a[i] % 2 == 0) s += a[i];
cout << s << "\n";
/// 3. suma valorilor aflate pe pozitii pare:
s = 0;
for (i = 2; i <= n; i += 2)
s += a[i];
cout << s << "\n";
/// 4. numarul numerelor divizibile cu 10
s = 0;
for (i = 1; i <= n; i++)
if (a[i] % 10 == 0) s++;
cout << s << "\n";
/// 5. suma numerelor divizibile cu 3 si aflate pe pozitii impare
s = 0;
for (i = 1; i <= n; i += 2)
if (a[i] % 3 == 0) s += a[i];
cout << s << "\n";
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2858 pv
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2858 pv de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!