Cunoscându-se limitele întregi a, b ale unui interval şi un şir de n valori, să se realizeze un program care determină media aritmetică a numerelor citite, pentru care suma cifrelor aparţine intervalului [a,b]. Exemplu: Pentru a=2, b=10, n=5 şi valorile 11,39,32,80,84 se va afişa 41.00.
CE E GRESIT IN PROGRAMUL MEU ??
#include
#include
using namespace std;
int main()
{
int n,a,b,i,nr,u,z,scif,k=0,S=0,knt=0;
cin>>a>>b>>n;
for(i=1; i<=n; i++)
{
cin>>nr;
u=nr%10;
z=nr/10;
scif=z+u;
knt++;
}
while(scif>=a && scif<=b)
{
S+=nr;
k++;
}
cout<
return 0;
}
Răspunsuri la întrebare
Răspuns de
2
Răspuns:
Partea asta trebuie sa apara in for, cu if nu cu while.
while(scif>=a && scif<=b)
{
S+=nr;
k++;
}
Partea aceasta pune in scif valoarea nr/10 + nr%10. Merge doar in cazul cu 1 sau 2 cifre.
u=nr%10;
z=nr/10;
scif=z+u;
Explicație:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int n,a,b,i,nr,u,z,scif,k=0,S=0;
cin>>a>>b>>n;
for(i=1; i<=n; i++)
{
cin>>nr;
scif = 0;
z = nr;
while(z){
u=z%10;
z=z/10;
scif+=u;
}
if(scif >= a && scif <= b){
S += nr;
k++;
}
}
if(k != 0)
cout << fixed << setprecision(2) << static_cast<double>(S)/static_cast<double>(k);
else cout << "NaN";
return 0;
}
Trollea:
mersiii mult !
Alte întrebări interesante
Geografie,
8 ani în urmă
Geografie,
8 ani în urmă
Engleza,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Franceza,
9 ani în urmă