Informatică, întrebare adresată de Florian32, 9 ani în urmă

Cerinţa:
Să se scrie un program care citește un șir de caractere și afișează litera mică cel mai des întâlnită în șir.

Date de intrare:
Programul citește de la tastatură o un șir de cel mult 255 caractere.

Date de ieşire:
Programul afișează pe ecran litera mică cel mai des întâlnită în șir.

Restricţii şi precizări:
șirul conține litere mari și mici ale alfabetului englez, cifre și spații
dacă șirul conține mai multe litere cu număr maxim de apariții, se va fișa prima în ordine alfabetică

Exemplu

Intrare:
In 12 mergem la munte

Ieșire:
e

Explicație:
Litera e apare în șir de 3 ori. Tot de 3 ori apare și litera m, dar e este prima în ordine alfabetică.

Răspunsuri la întrebare

Răspuns de stassahul
0
var

 s:string;
 c:set of char;
 a:array[65..122] of integer;
 max,i:integer;
 r:char;
 
begin

 read(s);

 c:=['A'..'z'];
 
 for i:=1 to length(s) do
  if s[i] in c then
   inc(a[ord(s[i])]);
 
 max:=-1;
  
 for i:=65 to 122 do
  if(a[i]>max) then
  begin
   max:=a[i];
   r:=chr(i);
  end;
   
 write(r);
 
end.

Cactus: Nu zic ca solutia ta e gresita...Dar nu ar fi mai bine sa dai raspunsuri in limbajul C++?
stassahul: E problema de pe pbinfo, deci am dreptul sa folosesc unul dintre cele 6 limbaje de programare disponibile acolo
stassahul: Daca ar fi spus autorul in tema s-al fac in c++, las fi facut in c++
stassahul: Mi-a venit in cap o solutie usoara in pascal si am scriso in pascal
Cactus: Ideea e sa inteleaga si el ceva
stassahul: Pai nam facut nimic dificil
stassahul: Ideea e ca folosesc un vector de frecventa cu codurile ascii al literilor din string
stassahul: Gasesc pe cel mai mare si il afisez ca litera
Cactus: Nu metoda e problema :)) Dar lasa...intrebam si eu
Alte întrebări interesante