Ayuda con arreglos Bidimensionales....
{Te valdrá esto}
program arraglos;
uses
crt;
type
matriztipo = array[1..12] of integer;
const
arreglo1 : array[1..3,1..4] of integer = (
(7,10,4,2),
(1,2,2,2),
(8,1,5,2));
arreglo2 : array[1..3,1..4] of integer = (
(3,4,5,6),
(15,2,3,6),
(7,8,10,15));
var
matriz1 : matriztipo;
matriz2 : matriztipo;
x, y : integer;
minmaz1, maxmaz1 : integer;
minmaz2, maxmaz2 : integer;
salir : boolean;
tecla : char;
procedure rellenamatriz(cual : integer);
var
v, s, x1, y1 : integer;
begin
if cual = 1 then
begin
x1 := 10;
y1 := 4;
for v := 1 to 3 do
for s := 1 to 4 do
begin
gotoxy(x1, y1);write('Entrada [',v,']','[',s,'] ');
readln(arreglo1[v][s]);
y1 := y1 + 1;
end;
end;
if cual = 2 then
begin
x1 := 10;
y1 := 4;
for v := 1 to 3 do
for s := 1 to 4 do
begin
gotoxy(x1, y1);write('Entrada [',v,']','[',s,'] ');
readln(arreglo2[v][s]);
y1 := y1 + 1;
end;
end;
end;
procedure presentamatriz1;
var
n : integer;
begin
n := 1;
for x := 1 to 3 do
for y := 1 to 4 do
begin
matriz1[n] := arreglo1[x][y];
n := n + 1;
end;
end;
procedure presentamatriz2;
var
n : integer;
begin
n := 1;
for x := 1 to 3 do
for y := 1 to 4 do
begin
matriz2[n] := arreglo2[x][y];
n := n + 1;
end;
end;
procedure ordena(entra : integer; mat : matriztipo);
var
ausil : integer;
i, e : integer;
begin
ausil := 0;
for i := 1 to 11 do
for e := 12 downto i + 1 do
if mat[e - 1] > mat[e] then
begin
ausil := mat[e];
mat[e] := mat[e - 1];
mat[e - 1] := ausil;
end;
if entra = 1 then
begin
writeln;
for i := 1 to 12 do
write(mat[i],' ');
writeln;
write('Enla Matriz N§ 1 el Min es[ ',mat[1],' ]',' El Max es[ ',mat[12],' ]');
writeln;
end;
if entra = 2 then
begin
writeln;
for i := 1 to 12 do
write(mat[i],' ');
writeln;
write('Enla Matriz N§ 2 el Min es[ ',mat[1],' ]',' El Max es[ ',mat[12],' ]');
writeln;
end;
end;
begin
clrscr;
gotoxy(3,2);write('Desea Ver La Actual o Entrar Nuebos Valores [A/N]');
salir := false;
repeat
tecla := readkey;
if tecla in['a','A'] then
begin
salir := true;
end;
if tecla in['n','N'] then
begin
clrscr;
gotoxy(1,1);write('MATRIZ N§ 1');
writeln;
rellenamatriz(1);
clrscr;
gotoxy(1,1);write('Desea Rellenar la Matriz N§ 2 [S/N]');
repeat
tecla := readkey;
until tecla in['s','S','n','N'];
clrscr;
if tecla in['s','S'] then
begin
clrscr;
gotoxy(1,1);write('MATRIZ N§ 2');
writeln;
rellenamatriz(2);
salir := true;
end
else
begin
salir := true;
end;
end;
until salir = true;
clrscr;
presentamatriz1;
presentamatriz2;
ordena(1,matriz1);
ordena(2,matriz2);
readln;
end.