Keresés

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

  • Steelheart

    senior tag

    Kissé régen írtak utoljára ide, de remélem, imáim meghallgatásra találnak.
    Kis gondom adódott: így év végén lemaradtam néhány progi- és algo-óráról, és a házi meg az, hogy programozzuk meg a Shell-rendezést, amit előzőleg leírtunk algoritmusban. Na igen, ezt szeretném megkérdezni, hogy legalább az elve mi, hogy megírhassam. Holnaora kéne, ugye... de legkésőbb két nap múlva.

    [Szerkesztve]

    XFire profile: http://profile.xfire.com/crystalheart ________>>--(O.o)-->________ http://www.youtube.com/watch?v=0NM45lYPb_A _________>>--(X.x)-->_________ http://crystalheart.extra.hu/e107_files/downloads/video/myvid/ggstart_f2_3kbps.avi

  • Steelheart

    senior tag

    Valamit nagyon elnézhettem, de nem jövök rá, hogy mit gépeltem el. A suliban még működött, csak rossz volt a floppym (jellemző), és kézzel írtam le. Most meg nem találom a hibát... biztos a kevés tapasztalat teszi... :B Nos, a QuickSort-ról van szó pascalban, remélem, vki segít.

    -----------------------------------------------------------------------------------

    Program quicksortprob;
    uses crt;

    const maxtomb=10;

    type tomb=array [1..maxtomb] of integer;

    var i:integer;
    X2:Tomb;

    Procedure valogat(eleje,vege: integer; var kozep:integer; X:Tomb);
    var i,j,k:integer;
    Begin
    k:=X[eleje];
    While eleje<vege do Begin
    While (X[vege]<k) and (eleje<vege) do dec(vege);
    If eleje<vege then Begin
    X[eleje]:=X[vege];
    inc(eleje);
    While (X[eleje]>=k) and (eleje<vege) do inc(eleje);
    If eleje<vege then Begin
    X[vege]:=X[eleje];
    dec(vege);
    End;
    End;
    End;
    X[eleje]:=k;
    kozep:=eleje;
    End;

    Procedure quicksort(eleje,vege:integer; X:Tomb);
    var kozep:integer;
    Begin
    valogat(eleje,vege,kozep,X);
    If eleje<kozep-1 then quicksort(eleje,kozep-1,X);
    If vege<kozep+1 then quicksort(kozep+1,vege,X);
    End;

    {**************************}

    Begin
    For i:=1 to maxtomb do Begin X2[(i)]:=random(1000); Write(X2[(i)],', '); End;
    quicksort(1,maxtomb,X2);
    For i:=1 to maxtomb do Write(X2[(i)],', ');
    Repeat until keypressed
    End.

    -----------------------------------------------------------------------------------

    A ''valogat'' eljárás kezdő Beginjéhez verem túlcsordulási hibát jelez ki, amit fordításban nem jelez. Pedig suliban még működött...

    [Szerkesztve]

    XFire profile: http://profile.xfire.com/crystalheart ________>>--(O.o)-->________ http://www.youtube.com/watch?v=0NM45lYPb_A _________>>--(X.x)-->_________ http://crystalheart.extra.hu/e107_files/downloads/video/myvid/ggstart_f2_3kbps.avi

  • Steelheart

    senior tag

    válasz g4dg3t #260 üzenetére

    Kösz... (a hülye figyelmetlenségem...)

    XFire profile: http://profile.xfire.com/crystalheart ________>>--(O.o)-->________ http://www.youtube.com/watch?v=0NM45lYPb_A _________>>--(X.x)-->_________ http://crystalheart.extra.hu/e107_files/downloads/video/myvid/ggstart_f2_3kbps.avi

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