Ordenar_Filas_Matriz
Publicado por Estudiante (1 intervención) el 22/01/2011 21:47:32
Alguien sabe como se ordena las filas de una matriz?
Valora esta pregunta


0
type Matriz is array(1..N, 1..M) of Integer; -- Donde N y M son los tamaños de la matriz
procedure Intercambiar_Filas(Matriz: in out Matriz; Fila1, Fila2: Integer) is
Temporal: Matriz(1..M);
begin
Temporal := Matriz(Fila1);
Matriz(Fila1) := Matriz(Fila2);
Matriz(Fila2) := Temporal;
end Intercambiar_Filas;
procedure Ordenar_Filas(Matriz: in out Matriz) is
Fila_Menor: Integer;
begin
for i in 1..N-1 loop
Fila_Menor := i;
for j in i+1..N loop
if Matriz(j)(1) < Matriz(Fila_Menor)(1) then
Fila_Menor := j;
end if;
end loop;
if Fila_Menor /= i then
Intercambiar_Filas(Matriz, i, Fila_Menor);
end if;
end loop;
end Ordenar_Filas;
declare
Mi_Matriz: Matriz := ((4, 2, 5),
(1, 7, 3),
(9, 6, 8));
begin
Ordenar_Filas(Mi_Matriz);
-- Imprimir la matriz ordenada
for i in 1..N loop
for j in 1..M loop
Put(Mi_Matriz(i)(j)'Image & " "');
end loop;
New_Line;
end loop;
end;