Pascal-sortowanie


(Marcinwencel29121986) #1

jak napisać następujący program:

Sortowanie

  1. Nalezy stworzyc tablice z 10 losowych elementow

  2. Nalezy wypisac zawartosc tablicy na ekranie

  3. Nalezy posortowac tablice szukajac najmniejszej liczby


(rozwalkompa) #2

Jest kilka metod sortowania, na wikipedii masz przykłady (w Pascalu też są).

VAR

T:ARRAY[1..10] OF byte; {byte - zależy jakie ma być zawartość}

i:byte;

BEGIN

Randomize;

FOR i:=1 TO 10 DO T[i]:=1+Random(255); {1. punkt załatwiony. W nawiasie, zamiast 255, wpisz do ilu ma losować}

FOR i:=1 TO 9 DO write(T[i],' '); {wypisze w jednej linii z "enterem" na końcu}

writeln(T[10]); {2. punkt załatwiony}

{dowolne sortowanie i należałoby powtórzyć wypisanie}

END.

Wszystko jasne? Jak nie to pisz, postaram się wyjaśnić dokładniej. Pozdrawiam


(Kruk I) #3

eee co do sortowania to zadeklarowałbym jeszcze jedną zmienną

VAR

T:ARRAY[1..10] OF byte; {byte - zależy jakie ma być zawartość}

i:byte;

temp:string;

BEGIN

Randomize;

FOR i:=1 TO 10 DO T[i]:=1+Random(255); {1. punkt załatwiony. W nawiasie, zamiast 255, wpisz do ilu ma losować}

FOR i:=1 TO 9 DO write(T[i],' '); {wypisze w jednej linii z "enterem" na końcu}

writeln(T[10]); {2. punkt załatwiony}

{dowolne sortowanie i należałoby powtórzyć wypisanie}

if T[i]>t[i+1] then {od tego zaczyna się sortowanie}

begin

temp:=T[i];

T[i]:=T[i+1];

T[i+1]:=temp;

end;

FOR i:= 1 to 10 do

writeln(T[i]);

END.

jeśli chodzi o szukanie najmniejszej liczby to

min:byte;

begin

(...)

min:=[1]

begin

writeln(T[i]);

if min>T[i] then

min:=T[i];

end;

end.