(*********************************************************** * * * DCV na PGM * * * * Autor: Jan Pacner * * * * Zadani: * * Zadavame znaky (vety atd...), zadavani ukoncime * * predem vybranym znakem. Potom nam program vypise * * cetnost znaku (pocita se JENOM anglicka abeceda). * * Program ma byt blbuvzdorny. * * * * made 29.3.2008 and last modified 29.3.2008 20:19 * * * ***********************************************************) program cetnost_znaku; var //keyin:string; input,output:string; i:byte; pozice:integer; cetnost:array [97..122] of integer; begin writeln ('---------------------------------------------------------------'); { write ('zadejte JEDEN znak, kterym ukoncite zadavani vlastniho textu: '); repeat readln (keyin); if length(keyin)>1 then write ('zadal jste vice znaku, zadejte jenom 1 znak: '); until length(keyin)=1; writeln (chr(10),'Zadejte text, ukoncete ho UKONCOVACIM znakem,'); writeln ('ktery jste si zvolili vyse, a pro..... } writeln (chr(10),'Zadejte text a program Vam vypise'); writeln ('cetnost jednotlivych znaku anglicke abecedy.'); write (chr(10),' -> '); readln (input); // prevede VELKA pismena v inputu na mala (pokud se tam vyskytuji): output:=(''); for i:=1 to length(input) do begin if (input[i] in ['A'..'Z']) then pozice:=97+(ord(input[i])-ord('A')) else pozice:=ord(input[i]); output:=concat(output,chr(pozice)); end; // vypocet CETNOSTI znaku: for i:=97 to 122 do cetnost[i]:=0; for i:=1 to length(output) do begin if (output[i] in ['a'..'z']) then begin cetnost[ord(output[i])]:=cetnost[ord(output[i])]+1; end; end; // vypis CETNOSTI znaku (jen tech, ktere se v textu objevily): writeln (chr(10),'cetnost znaku:'); for i:=97 to 122 do begin if cetnost[i]<>0 then writeln (chr(i),': ',cetnost[i]); end; readln; end.