{$mode objfpc}{$H-}{$R+}{$T+}{$Q+}{$V+}{$D+}{$X-}{$warnings on}
program matrices;

// Nombre:
// Apellidos:
// Login en el laboratorio Linux:

const
    Filas = 3; 
    Columnas = 4;
type
    TipoMatriz = array[1..Filas, 1..Columnas] of real;

function tira_dado(caras_dado:integer):integer;
begin
    result := random(caras_dado) + 1;
end;


procedure inicia_matriz(var matriz:TipoMatriz);
var
    i,j : integer;
const
    CarasDado = 6;
begin
    for i := 1 to Filas do begin
        for j:= 1 to Columnas-1 do
            matriz[i,j] := tira_dado(CarasDado);
        matriz[i,Columnas] := 0;
    end;
end;


procedure escribe_matriz(matriz:TipoMatriz);
var i,j: integer;   
begin
    for i := 1 to Filas do begin
        for j:= 1 to Columnas do begin
            write(matriz[i,j]:0:3);
            write(' ');
        end;
        writeln;
    end;
end;


procedure rellena_matriz(
end;


procedure escribe_matriz_espejo(
end;


var
    matriz : TipoMatriz;
begin
    randomize();

    inicia_matriz(matriz);
    writeln('Matriz inicial:');
    escribe_matriz(matriz);
    writeln();

    rellena_matriz(matriz);
    writeln('Matriz con medias:');
    escribe_matriz(matriz);
    writeln();

    writeln('Matriz espejo:');
    escribe_matriz_espejo(matriz);
end.  
