Hirdetés

Új hozzászólás Aktív témák

  • Gyuri16

    senior tag

    válasz borsodika #2382 üzenetére

    azt kerdeztem, hogy milyen algoritmust tanultatok, hogy azzal mutassam meg ezt a peldat, de mindegy. megirtam a szerintem legegyszerubbet,

    a kod:

    uses crt;

    const
    max = 14;

    var
    nevek: array [1..max] of string;
    i, j, m: integer;
    tmp: string;

    begin
    clrscr;
    for i:=1 to max do
    begin
    writeln('Add meg a kovetkezo nevet:');
    readln(nevek[i]);
    end;

    for i:=1 to max do
    begin
    m:=i;
    for j:=i to max do
    if nevek[j]<nevek[m] then
    m:=j;
    tmp:=nevek[m];
    nevek[m]:=nevek[i];
    nevek[i]:=tmp;
    end;

    clrscr;
    for i:=1 to max do
    begin
    writeln(nevek[i]);
    if i mod 5 = 0 then
    begin
    readln;
    clrscr;
    end;
    end;
    end.

    az elso resz a beolvasas, azon nincs mit magyarazni.

    a masodik maga a sorbarendezes. ez ugy mukodik, hogy megkeresi a tombben a legkisebb elemet, es ezt kicsereli az elsovel. ezutan ismet keresi a legkisebb elemet, de az elsot mar nem veszi figyelembe. ha megtalalta akkor kicsereli a masodik elemmel. igy megy tovabb. a tomb mindig ket reszre van osztva, egy ami mar sorba van rendezve (ez a tomb eleje) es ami meg nem. a kulso ciklus minden iteracioja noveli a sorbarendezett reszt egyel. itt olvashatsz errol bovebben: [link] vannak ott animalt kepek, azokat nezd meg, segit megerteni a mukodeset

    az utolso resz a kiiratas. ez is egyszeru, csak azt kell figyelni, hogy ha az elem sorszama oszthato ottel, akkor varjunk egy enterre es toroljuk a kepernyot.

Új hozzászólás Aktív témák