Metodo de ordenamiento por mezcla (merge sort)
program Mezcla; uses CRT; Const largo = 5; Type V2 = Array[1..largo] of integer; v3 = Array[1..largo+largo] of integer; Var Vec,Vec2, Vec3 : V2; VecFin : v3; J,I,K,aux,con,h,x, ban : Integer; entro : Boolean; Procedure Llenar(vec:V2; Var vec2: v2); Begin For Con:=1 to largo do Vec[Con]:=Random(100); For Con:=1 to largo do Vec2[Con]:=Random(100); End; Procedure Llenar2(vec:V2; Var vec2: v2); Begin vec[1]:=65; vec[2]:=70; vec[3]:=13; vec[4]:=82; vec[5]:=85; vec2:=vec; End; Procedure Llenar3(vec:V2; Var vec2: v2); Begin vec[1]:=35; vec[2]:=44; vec[3]:=85; vec[4]:=17; vec[5]:=94; vec2:=vec; End; Procedure Display(V:V2; hh:Integer); Begin For Con:=1 to largo do Begin If Ban <> 1 Then Begin GotoXY(hh,Con);Writeln(V[Con]); End Else Begin GotoXY(hh,Con+largo+2);Writeln(V[Con]); End; Delay(100) End; End; Procedure Burbu(vec:v2; Var vec3: v2); Begin For J:=1 to largo-1 do Begin entro:=false; For I:=1 to largo-1 do Begin If Vec[I] > Vec[i+1] then Begin Aux:=Vec[i]; Vec[i]:=Vec[I+1]; Vec[I+1]:=Aux; Entro:=True; display(Vec,H); h:=h+3; End; End; If entro=False then J:=largo-1; End; Vec3:=vec; End; Procedure Intercalar(vec1:v2; vec2:v2; var vecres:v3); Begin J:=1; K:=1; For I:=1 to largo+largo do Begin If vec1[J] <= vec2[K] then Begin vecres[I]:= vec1[J]; J:=J+1; if J > largo then Begin J:=largo; vec1[J]:=vec2[J] End End else Begin vecres[I]:= vec2[K]; K:=K+1; if k > largo then Begin k:=largo; vec2[k]:=vec1[k] End End; End; writeln; End; Procedure Desplegar(vecx:v3); Begin For I:=1 to largo+largo do writeln (vecx[I]); end; { Procedure Desplegar2(vecx:v2); Begin For I:=1 to largo do writeln (vecx[I]); writeln; end; } Begin Clrscr; { GotoXY(1,1);Writeln('Vectores 1 Y 2');} h:=1; Randomize; Llenar(vec,vec); Burbu(vec, vec2); h:= 1; Ban:= 1; Llenar(vec,vec); Burbu(vec,vec3); { Desplegar2 (vec2); Desplegar2 (vec3); } Intercalar(vec2,vec3,vecfin); writeln ('Vector Resultado de la Mezcla'); Desplegar (vecfin); Repeat Until Keypressed; End.
Antes de comentar: Gran parte de los ejercicios propuestos no tienen librerías debido a que Wordpress las eliminó al verlas como etiquetas HTML. Si sabes/tienes/conoces las librerías que hacen falta, déjalo en los comentarios. Y lo mas importante: Todos los ejemplos fueron realizados por personas con únicamente conocimiento básico del lenguaje, no de programación.
Otro punto importante: Si vas a sugerir un segmento de código en algún lenguaje debes hacerlo así:
- Si es lenguaje C [c]Código en C[/c]
- Si es lenguaje Pascal [pascal]Aquí dentro el código de Pascal[/pascal].
De esta manera el código coloreas el código.
Otro punto importante para muchos que sienten que se les ignora: Todos los comentarios los reviso y en su debido momento los apruebo, pero ojo con el con lo siguiente:Me reservo el derecho de alterar, publicar o no los comentarios as´ como cambiar mis condiciones en el momento que así lo requiera.
¿estas de acuerdo? entonces adelante que ya te he quitado bastante tiempo leyendo esta basura de advertencias :)
Comentarios
Hola Jorge.
Se que comentar las línea sle solucionaría la vida a muchos, pero estas aplicaciones las cree cuando recién iniciaba en esto de la programación.
:P
estaria muy buenos q alla mas comentarios sobre las lineas de programacion , si bien en estos casos son metodos estrictos de ordenamientos , por lo que no necesitan demaciados comentarios , pero hay algunos programadores que los nesecitamos , muy buena la pagina y denle para adelante , lastima que ya no se puede vender software hecho por uno sin tener titulo , ni siquiera distribuirlo..
salu2