Buborék rendezés pascalban?
Sziasztok!
Valaki tudna segíteni hogy itt vajon mit ronthattam el? Lehet valaki egyből észreveszi.
Előre is köszönöm!
for x:= 1 to n do
for i:= 1 to x do
helyett
for x:= 1 to n do
for i:= 1 to n-x do
----
if tomb[x]>tomb[x+1] then
begin
y:=tomb[x];
tomb[x]:=tomb[x+1];
tomb[x+1]:=y;
helyett pedig
if tomb[i]>tomb[i+1] then
begin
y:=tomb[i];
tomb[i]:=tomb[i+1];
tomb[i+1]:=y;
Azt javaslom, legközelebb (más problémánál is) csináld úgy, hogy kevés elemszámmal dolgozol, az elemeket te magad határozod meg. Mondjuk 5 vagy 7 elem, és az elemek például: 70,20,50,10,40,30,60.
A kiiratást pedig hívd meg minden csere után. Így látni fogod, hogy mi történik a programban. Jobban és valószinűleg gyorsabban meg fogod érteni.
program rendez;
const
n = 29;
var
x, y, i : integer;
tomb : array[1..n] of integer;
procedure novekvobe;
begin
randomize;
for x:=1 to n do tomb[x]:=random(100);
writeln('A tomb tartalma: ');
for x:=1 to n do write(tomb[x],' ');
for x:= 1 to n do
for i:= x+1 to n-1 do
begin
if tomb[i]<tomb[x] then
begin
y:=tomb[x];
tomb[x]:=tomb[i];
tomb[i]:=y;
end;
end;
end;
begin
novekvobe;
writeln;
for x:=1 to n do
write(tomb[x], ' ');
end.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!