Tömb feltöltése véletlen számokkal és az elemek elrendezése buborék rendezéssel (Buborek.pas) program Buborek; uses crt; var i,n,j,x:integer; vcs:boolean; boolean típusú, azaz true vagy false értéket felvevő vcs változó lértehozása. Ez a "van csere"-t fogja jelenteni. a:array [1..100] of integer; BEGIN clrscr; i:=1; write('Hany szam legyen a tombben? '); readln(n); while(i<=n) do begin a[i]:=trunc(90*random+1); i:=i+1; end; writeln('A szamok rendezes elott:'); i:=1; while(i<=n) do begin writeln('A tomb ',i,'. eleme: ',a[i]); i:=i+1; end; i:=1; while (i<n) do begin; Tömb rendezése buborék rendezéssel, úgy, hogy a tömb legnagyobb indexű elemétől lefelé haladva megvizsgáljuk meg azt, hogy az aktuális elemnél kisebb e az őt megelőző. Ha igen, cserélünk. j:=n; A legnagyobb indexű elemet kezdjük vizsgálni. vcs:=false; Még nincs csere. while (j>i) do begin Addig vizsgáljuk az elemet, amíg az indexe nagyobb az i-nél, azaz a megvizsgált elemek számánál. if(a[j]<a[j-1]) then begin Ha az aktuálisan vizsgált elemnél kisebb az előtte lévő, akkor megcseréljük őket, valamint beállítjuk, hogy történt csere, azaz vcs=true; x:=a[j]; a[j]:=a[j-1]; a[j-1]:=x; vcs:=true end; j:=j-1; end; if (vcs=false) then break; Ha nem történt csere, azaz a vizsgált elemnél nem találtunk kisebbet, akkor nem kell tovább vizsgálódni. i:=i+1; end; writeln(''); writeln('A szamok rendezes utan:'); i:=1; while (i<=n) do begin writeln('A tomb ',i,'. eleme: ',a[i]); i:=i+1; end; readkey; END. Tömb feltöltése véletlen számokkal és az elemek elrendezése buborék rendezéssel, eljárások használatával (BuborekV1.pas)
    program BuborekV1;
    uses crt;
    var i,n,j,x:integer;
        vcs:boolean;
        a:array [1..100] of integer;

    procedure tombfeltoltes;
    begin
       i:=1;
       write('Hany szam legyen a tombben? ');
       readln(n);
       while(i<=n) do begin
          a[i]:=trunc(90*random+1);
          i:=i+1;
          end;

       writeln('A szamok rendezes elott:');
       i:=1;
       while(i<=n) do begin
          writeln('A tomb ',i,'. eleme: ',a[i]);
          i:=i+1;
          end;
       end;

    procedure rendezes;
    begin
       i:=1;
       while (i<n) do begin;
          j:=n;
          vcs:=false;
          while (j>i) do begin
             if(a[j]<a[j-1]) then begin
                x:=a[j];
                a[j]:=a[j-1];
                a[j-1]:=x;
                vcs:=true
                end;
             j:=j-1;
             end;
          if (vcs=false) then break;
          i:=i+1;
          end;

       writeln('A szamok rendezes utan:');
       i:=1;
       while (i<=n) do begin
          writeln('A tomb ',i,'. eleme: ',a[i]);
          i:=i+1;
          end;
       end;

    BEGIN
       clrscr;
       tombfeltoltes;
       rendezes;
       readkey;
    END.