program matrsegind;
uses
crt;
const
n = 5;
m = 5;
type
matriz = array[1..n,1..m] of integer;
string3 = string[3];
var
matri : matriz;
cont, i, h, d : integer;
arr : array[1..(n * m)] of integer;
lapos : string3;
function existe(t : integer) : boolean;
var
c, v : integer;
begin
existe := false;
for c := 1 to cont - 1 do
if arr[c] = t then
begin
existe := true;
break;
end;
end;
procedure cargavalores;
var
z, l, r, s : integer;
begin
randomize;
cont := 1;
repeat
s := random((n * m) * 3) + 1;
if existe(s) = false then
begin
arr[cont] := s;
cont := cont + 1;
end;
until cont > (n * m);
z := 1;
l := 1;
writeln;
for r := 1 to cont - 1 do
begin
matri[z,l] := arr[r];
write(' ',matri[z,l]);
l := l + 1;
if l > m then
begin
l := 1;
z := z + 1;
writeln;
end;
end;
writeln;
end;
procedure suma;
var
resu, b, g, k : integer;
begin
b := 1;
g := round(n / 2);
resu := 0;
k := 1;
writeln;
repeat
resu := resu + matri[g,b];
writeln(' ',matri[g,b]);
g := g + 1;
if g > n then
begin
g := round(n / 2) + b;
b := b + 1;
end;
until b > round(n / 2);
writeln;
writeln(' La Suma Resulto : ',resu);
end;
function mayorpar(mm : matriz) : string3;
var
va, pa, pd : integer;
begin
va := 0;
for h := 1 to n do
for d := 1 to m do
if mm[h,d] mod 2 = 0 then
begin
if va < mm[h,d] then
begin
va := mm[h,d];
pa := h;
pd := d;
end;
end;
mayorpar := chr(va) + chr(pa) + chr(pd);
end;
begin
clrscr;
cargavalores;
suma;
writeln;
lapos := mayorpar(matri);
writeln(' Mayor Par = ',ord(lapos[1]));
writeln(' Posicion = ',ord(lapos[2]));
writeln(' Posicion = ',ord(lapos[3]));
readkey;
end.