
Ayuda con ordenamiento (burbujeo)
Publicado por Francisco (2 intervenciones) el 15/06/2018 00:32:40
ALGUIEN ME LO PODRÍA REALIZAR POR FAVOR?!


Valora esta pregunta


-1
USES CRT,DOS;
var
posneg,
AUX,i , j : integer;
TABLA : ARRAY[1..10] OF INTEGER;
BEGIN
randomize;
{Rellenamos el arreglo}
FOR I:=10 DOWNTO 1 DO
BEGIN
IF ODD(I) THEN
TABLA[I]:=I*(-1)
ELSE
TABLA[I]:=I;
END;
{Ordenamos todo el arreglo}
fOR i:=1 TO 10 DO
FOR J:=1 TO 9 DO
IF (TABLA[I]>TABLA[J]) tHEN
BEGIN
aUX:=TABLA[J];
TABLA[J]:=TABLA[I];
TABLA[I]:=AUX;
END;
i:=0;
{Buscamos el primer n£mero negativo para encontrar la separaci¢n entre positivos y negatigos}
REPEAT
inc(i);
UNTIL TABLA[I]<0;
posneg:=I;;
{Como los positivos ya est n ordenados, ordenamos los negativos tal como nos piden}
For i:= posneg-1 downto 1 do
For j:=posneg-1 downto 1 do
IF (TABLA[I]>TABLA[J]) tHEN
BEGIN
aUX:=TABLA[J];
TABLA[J]:=TABLA[I];
TABLA[I]:=AUX;
END;
{Presentaci¢n del arreglo para comprobar que est correctamente ordenado}
for i :=1 to 10 do
writeln(tabla[i]);
readln;
END.