Preštudujte si: Polia a zoznamy
1. Úlohy riešené pomocou poľa
1.2. Úloha #2
Napíšte program, ktorý pre zadaný text zistí počet výskytov jednotlivých malých písmen abecedy (a-z). Vstupný text načítajte z Editu, výsledok vypíšte do ListBoxu.
Riešenie
Úloha je len obmenou predchádzajúcej. Znaky a-z sú súčasťou ordinálneho typu char, môžeme ich preto použiť ako indexy poľa.
var p: array ['a'..'z'] of integer; // pocitadla znakov retazec: string; i, znak: char; j: integer; begin for i:= 'a' to 'z' do znaky[i]:= 0; // vynulujeme pocty vyskytov retazec:= Edit1.text; for j:= 1 to length(retazec) do begin znak:= retazec[j]; // zistim aky znak je na aktualnej pozicii p[znak]:= p[znak] + 1; // zvysim pocet jeho vyskytov v poli end; // vypis Listbox1.Clear; for i:= 'a' to 'z' do if p[i]>0 then Listbox1.Items.Add(i + ' - ' + inttostr(p[i])); end;