Preštudujte si: Polia a zoznamy
1. Úlohy riešené pomocou poľa
1.1. Úloha #1
Napíšte program, ktorý pre zadané číslo zistí počty výskytov jednotlivých cifier. Číslo načítajte z Editu, výsledok vypíšte do ListBoxu.
Riešenie
Pre každú cifru si potrebujeme pamätať počet výskytov. Ako počítadlá využijeme prvky poľa. Cifier je 10, použijeme teda pole s rozsahom 0..9 (v prvku p[0] uložíme počet núl, v prvku p[1] počet jednotiek atď.). Vstupné číslo prejdeme v cykle po cifrách, aktualizujeme príslušné počítadlá.
procedure TForm1.Button1Click(Sender: TObject); var i, cifra: integer; p: array [0..9] of integer; retazec: string; begin for i:= 0 to 9 do p[i]:= 0; // vynulujeme pocty vyskytov retazec:= Edit1.Text; // zadane cislo ulozime do premennej typu string for i:=1 to length(retazec) do begin cifra:= StrToInt(retazec[i]); // zistime, aka cifra je na aktualnej pozicii p[cifra]:= p[cifra] + 1; // zvysime pocet jej vyskytov v poli end; // vypiseme vysledok Listbox1.Clear; for i:=0 to 9 do Listbox1.Items.Add(inttostr(i)+ ' - ' + inttostr(p[i])); end;