Informatică, întrebare adresată de Anusica, 8 ani în urmă

Cerința
Se dau n numere naturale. Calculați suma celor care au exact două cifre.

Date de intrare
Programul citește de la tastatură numărul n, iar apoi n numere naturale, separate prin spații.

Date de ieșire
Programul va afișa pe ecran numărul S, reprezentând suma numerelor care au două cifre.

Restricții și precizări
1 ≤ n ≤ 1000
cele n numere citite vor fi mai mici decât 1.000.000.000



Exemplu
Intrare

5
1000 20 3 41 576
Ieșire

61
Explicație
Dintre numerele citite, 20 și 41 au exact două cifre.

Dau coroana!!


robertanisoiu: #include
using namespace std;
int main()
{
int n, i, S, numar;

S=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>numar;
if(numar/10>0 && numar/100==0)
S=S+numar;
}

cout<
return 0;
}
robertanisoiu: gata! acum este de 100 de puncte
Anusica: multumesc mult!

Răspunsuri la întrebare

Răspuns de robertanisoiu
2

Răspuns:

#include <iostream>

using namespace std;

int main()

{

   int a[1005], n, i, S;

   cin>>n;

   for(i=1;i<=n;i++)

       cin>>a[i];

   S=0;

   for(i=1;i<=n;i++)

       if(a[i]/10>0 && a[i]/100==0)

           S=S+a[i];

   cout<<"Suma numerelor de exact doua cifre este: "<<S;

   return 0;

}

Explicație:

Un numar intreg are exact doua cifre daca impartirea intreaga la 10 este mai mare ca 0 si impartirea intreaga la 100 este egala cu 0.

Impartirea intreaga este atunci cand se ia doar intregul, nu si restul(sau ce ar fi dupa virgula). De exemplu impartirea intreaga a lui 25 la 10 este 2(dispare ultima cifra)

if(a[i]/10>0 && a[i]/100==0) este conditia prin care se verifica in program daca un numar are exact doua cifre. Impartirea intreaga la 10 trebuie sa fie mai mare ca 0 iar impartirea intreaga la 100 trebuie sa fie egala cu 0.


Anusica: pe pb info imi da 0 puncte
robertanisoiu: Ce numar are problema?
robertanisoiu: Stiu si de ce. Pentru ca am folosit un vector iar ei vor fara vector. Da-mi, te rog, numarul problemei
robertanisoiu: #include
using namespace std;
int main()
{
int n, i, S, numar;

S=0;
cin>>n;
for(i=1;i<=n;i++)
{
cin>>numar;
if(numar/10>0 && numar/100==0)
S=S+numar;
}

cout<
return 0;
}
Alte întrebări interesante