Cerinţa Scrieţi un program care citeşte de la tastatură un şir de cel mult 50 de caractere (litere mici şi mari ale alfabetului englez, cifre, puncte, virgule şi spaţii) şi afişează pe ecran cifra care apare de cele mai multe ori în şirul citit. Date de intrare Programul citeşte de la tastatură un şir de cel mult 50 de caractere. Date de ieşire Programul va afişa pe ecran cifra care apare de cele mai multe ori în şir. Restricţii şi precizări dacă şirul conţine mai multe cifre cu număr maxim de apariţii si va afişa cea mai mică dacă şirul nu conţine cifre se va afişa NU. Exemplu Date de intrare Voi lua 9,5 la matematica 10 la informatica si 10 la romana Date de ieşire 0 Explicaţie Cifrele 0 şi 1 apar de număr maxim de ori, dar 0 este mai mică.
Răspunsuri la întrebare
Răspuns de
9
#include <iostream>
#include <cstring>
using namespace std;
int nrap[10],ma,ima;
unsigned int i;
char sir[256],cifre[11]="0123456789";
int main()
{
cin.get(sir,256);
for(i=0;i<strlen(sir);i++)
if(strchr(cifre,sir[i]))
nrap[(int)sir[i]-(int)'0']++;
for(i=0;i<=9;i++)
if(nrap[i]>ma)
{
ma=nrap[i];
ima=i;
}
if(ma==0)
cout<<"NU"<<'\n';
else
cout<<ima<<'\n';
return 0;
}
Alte întrebări interesante
Matematică,
8 ani în urmă
Chimie,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă
Matematică,
9 ani în urmă