
duda con algoritmo burbuja
Publicado por jorge (6 intervenciones) el 21/01/2010 20:26:49
Lo primero es saludar a todo el mundo.
Vereis mi problema es que llevo poco tiempo intentanto aprender a programar y nunca antes lo había hecho, me compre un libro fui leyendo y aquí estoy.
Al grano, intento entender y no aprender el método, pero hay un par de lineas de código que me están volviendo loco, las marcaré entre asteriscos a ver si me las podeis explicar que por mas que leo sobre el algoritmo no acabo de pillarlas. Lo demás lo entiendo a la perfección.
Por cierto ya tengo el free pascal Diego y va bien, menos mal.
program burbuja;
uses crt;
const n_max=100;
var i,j,n,w :integer;
v:array[1..n_max] of integer;
begin
writeln (' Cuantos numeros quieres ordenar? ');
readln (n);
writeln (' Introduzca los numeros: ');
for i:=1 to n do readln (v[i]);
**********for i:=1 to n-1 do****************
**********for j:=1 to n-i do*****************
if v[j]>v[j+1] then begin
w:=v[j];
v[j]:=v[j+1];
v[j+1]:=w
end;
writeln;
writeln (' Los numeros ordenados son: ');
for i:=1 to n do writeln(v[i])
end.
salu2.
Vereis mi problema es que llevo poco tiempo intentanto aprender a programar y nunca antes lo había hecho, me compre un libro fui leyendo y aquí estoy.
Al grano, intento entender y no aprender el método, pero hay un par de lineas de código que me están volviendo loco, las marcaré entre asteriscos a ver si me las podeis explicar que por mas que leo sobre el algoritmo no acabo de pillarlas. Lo demás lo entiendo a la perfección.
Por cierto ya tengo el free pascal Diego y va bien, menos mal.
program burbuja;
uses crt;
const n_max=100;
var i,j,n,w :integer;
v:array[1..n_max] of integer;
begin
writeln (' Cuantos numeros quieres ordenar? ');
readln (n);
writeln (' Introduzca los numeros: ');
for i:=1 to n do readln (v[i]);
**********for i:=1 to n-1 do****************
**********for j:=1 to n-i do*****************
if v[j]>v[j+1] then begin
w:=v[j];
v[j]:=v[j+1];
v[j+1]:=w
end;
writeln;
writeln (' Los numeros ordenados son: ');
for i:=1 to n do writeln(v[i])
end.
salu2.
Valora esta pregunta


0