Se citesc de la tastatura mai multe numere naturale, pana la intalnirea numarului 12. Sa se scrie un program in C++ care realizeaza urmatoarele :
afiseaza mesajul “Numar par” pentru fiecare numar par intalnit si nr de numere pare ;
calculeaza si afiseaza suma si produsul numerelor impare ;
calculeaza si afiseaza media aritmetica si radacina patrata a sumei numerelor citite ;
AM NEVOIE NEAPARAT!!!
Răspunsuri la întrebare
#include <iostream>
#include <cmath> // Librarie pentru functia sqrt
using namespace std;
int
main ()
{
int sumaImpare = 0, produsImpare = 1, numerePare = 0, sumaTotala = 0, numereCitite = 0; // Produsul trebuie sa fie 1 ca inmultirea sa nu ne dea mereu 0
int numarCitit; // Variabila in care citim numere
cin >> numarCitit; // Citire initiala
while (numarCitit != 12)
{
if (numarCitit < 0)
{
cin >> numarCitit;
continue; // Daca numarul citit nu este natural trecem la urmatoarea iteratie / executie a structurii repetitive
}
if (numarCitit % 2 == 0)
{
numerePare++;
cout << "Numar par!" << endl; // Daca numarul este divizibil exact cu 2, afisam text-ul "Numar par!" si inseram o linie noua cu endl;
}
else
{
sumaImpare = sumaImpare + numarCitit;
produsImpare = produsImpare * numarCitit;
}
sumaTotala = sumaTotala + numarCitit;
numereCitite++;
cin >> numarCitit;
}
int mediaAritmetica = sumaTotala / numereCitite;
int radacinaPatrata = sqrt (sumaTotala);
cout << "Suma numerelor impare citite este " << sumaImpare << endl; // Afisam suma numerelor impare si o linie noua
cout << "Produsul numerelor impare citite este " << produsImpare << endl; // Afisam produsul numerelor impare si o linie noua
cout << "Media aritmetica a numerelor citite este " << mediaAritmetica << endl; // Analog ca mai sus
cout << "Radacina patrata a sumei numerelor citite este " << radacinaPatrata << endl; // Analog ca mai sus
return 0;
}
Ai aici problema explicata.