Zadání:
Sestavte program, který ze zadaného textu (max. 80 znaku bez českých) určí četnosti jednotlivých znaků
Řešení:
Po zadání textu (pro jednoduchost předpokládáme malá písmena anglické abecedy) pomocí cyklu FOR vynulujeme
pole četností jednotlivých znaků (pole četností má indexy v intervalu 97..122 = pořadí malých písmen anglické
abecedy v ASCII tabulce). Poté pomocí druhého cyklu FOR pro každý znak v textovém řetězci zjistíme pořadové číslo
znaku v ASCII tabulce (funkcí ORD) a inkrementujeme příslušný prvek v poli četností. Na konci programu pomocí
cyklu FOR vytiskneme pouze ty četnosti znaků, které mají nenulovou hodnotu.
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var cetnosti:array[97..122] of byte;
i:integer;
retezec:string[80];
begin
write('Zadejte textovy retezec: ');
readln(retezec);
for i:=97 to 122 do cetnosti[i]:=0;
for i:=1 to length(retezec) do
cetnosti[ord(retezec[i])]:=cetnosti[ord(retezec[i])]+1;
writeln;
writeln('Cetnosti:');
for i:=97 to 122 do
if cetnosti[i]<>0 then writeln(chr(i),': ',cetnosti[i]);
readln;
end.
program ke stažení