const
NADA = 0;
TIBURON = 1;
BARCO = 2;
var
Mar: array[1..10,1..10] of Integer;
i,j: Integer;
{Esto inicia el tablero poniendo tiburones y barcos en siempre la misma posicion,
despues, con otro procedimiuento se mezcla}
procedure Init;
var
i,j : integer;
begin
for i:=1 to 10 do
for J:=1 to 10 do
Mar[i,j] := NADA;
for i:=1 to 10 do Mar[i,1] := TIBURON;
for i:=1 to 5 do Mar[i,2] := BARCO;
end;
{Intercambia dos variables}
procedure Intercambiar(var A,B: Integer);
var
C: Integer;
begin
C := A;
A := B;
B := C;
end;
{esto mezcla los campos y los desordena, de manera que uno se asegura que
hay 10 tiburones y 10 barcos}
procedure Mezclar;
var
i,j, nI, nJ: integer;
begin
for i:=1 to 10 do
for J:=1 to 10 do
begin
nI := RAndom(10)+1;
nJ := RAndom(10)+1;
Intercambiar(Mar[i,j], Mar[nI, nJ]);
end;
end;
begin
Init;
Mezclar;
for j:=1 to 10 do
for i:=1 to 10 do
begin
Write(Mar[i,j], ' ');
if i=10 then WriteLn;
end;
readln;
end.