usporiadanie cisel pascal

Programovacie jazyky, rady, poradňa...
puco55
Amateur
Amateur
Príspevky: 18
Registrovaný: 25 sep 2011, 16:04

usporiadanie cisel pascal

Príspevok od používateľa puco55 »

cawte kde by mohla byt chyba v tomto zdrojaku?

Kód: Vybrať všetko

uses crt;
var pocet,i,q,j: integer;
    cisla: array[1..100] of integer;
begin
 clrscr;
 randomize;
  writeln('zadaj pocet cisel: ');
  readln(pocet);
   for i:=1 to pocet do
    begin
     cisla[i]:=random(100)+1;
     write(cisla[i],' ');
    end;
 {usporiadanie cisel}
  for i:=1 to pocet-1 do
   begin
    for j:=1 to pocet-1 do
     if cisla[j+1]<cisla[j] then
                           begin
                           cisla[j]:=q;
                           q:=cisla[j+1];
                           cisla[j+1]:=q;
                           end;
  end;
  {usporiadane cisla}
  writeln;
   for i:=1 to pocet do
    write(cisla[i],' ');


 readln;
end .
xadman
Medium Star
Medium Star
Príspevky: 305
Registrovaný: 09 mar 2011, 17:02

Re: usporiadanie cisel pascal

Príspevok od používateľa xadman »

V pascale sa nevyznám, ale na konci za tým end-om má byť bodka ?
Zappir
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 498
Registrovaný: 17 aug 2008, 9:38
Bydlisko: Praha / Prievidza

Re: usporiadanie cisel pascal

Príspevok od používateľa Zappir »

Kód: Vybrať všetko

 
...
  begin
    for j:=1 to pocet-1 do
     if cisla[j]>cisla[j+1] then
                           begin
                           q:=cisla[j];
                           cisla[j]:=cisla[j+1];
                           cisla[j+1]:=q;
                           end;
  end;
...

Takto nak by to mohlo teoreticky fungovat
Everhard
Light Expert
Light Expert
Príspevky: 79
Registrovaný: 25 dec 2010, 14:41

Re: usporiadanie cisel pascal

Príspevok od používateľa Everhard »

Ak chces usporiadat cisla podla velkosti, mal by to byt dvojity forcyklus od 2 do n, a druhy tiez od 2 do n. To je klasicky bubblesort. Kde prechadzas pole po jednom, a vzdy kontrolujes aktualny s predchadzajucim.

Pri usporidavani od najmensieho do najvacsieho, vymenis aktualny s predchadzajucim, ak je aktualny mensi od predchadzajuceho.

To je cele. Je to jednoduche, ale toto usporiadavanie nie je efektivne. Ale ake je to skolska uloha, tak zrejme takto to ocakavaju.
Napísať odpoveď