Informatică, întrebare adresată de Utilizator anonim, 9 ani în urmă

Cerința
Se dă un număr natural format din cifrele 2 sau 3. Aflaţi cifra care apare de cele mai multe ori în scrierea numărului.

Date de intrare
Programul citește de la tastatură numărul n.

Date de ieșire
Programul va afișa pe ecran cifra care apare de cele mai multe ori în scrierea lui n .

Restricții și precizări
n are cel mult 10 cifre
dacă cifrele 2 şi 3 apar de acelaşi număr de ori se va afişa: 2 3

Exemplu
Date de intrare
23233
Date de iesire
3

Eu am facut asa, dar imi da doar 80 de puncte:
#include
using namespace std;
int main()
{
int n,c2,c3,cif;
cin>>n;
c2=0;
c3=0;
while(n!=0)
{
cif=n%10;
if(cif==2)
c2=c2+1;
else
c3=c3+1;
n=n/10;
}
if(c2>c3)
cout<<"2"<< '\n';
if(c3>c2)
cout<<"3"<< '\n';
if(c2==c3)
cout<<2<<" "<<3<< '\n';
return 0;
}

Răspunsuri la întrebare

Răspuns de Afinaty
2
Programul tau este aproape perfect. Greseala apare din cauza instructiunii de pe ramura Else.In cazul tau c3 se va incrementa pentru orice numar inafara de 2. Ca sa rezolvi aceasta problema pe ramura Else verifica daca cif este egala cu 3 si apoi executa instructiunea.
Else if (cif==3) c3=c3+1;

Utilizator anonim: Multumesc, dar tot 80 imi da
Afinaty: la ce te referi prin 80 puncte?
Utilizator anonim: Problema e de pe site-ul pbinfo.ro, si din 100 de puncte imi da 80
Afinaty: nu stiu nimic despre acest site dar te asigur ca dupa corectare programul face exact ce zice in cerinta.
Afinaty: oricum mersi pt site o sa vad ce gasesc pe acolo
Alte întrebări interesante