{$mode objfpc}{$H-}{$R+}{$T+}{$Q+}{$V+}{$D+}{$X-}{$warnings on}
program puzzle;
// Nombre:
// Apellidos:
// Login en el laboratorio Linux:
const
    Filas = 3; 
    Columnas = 4;
type
    TipoMatriz = array[1..Filas, 1..Columnas] of integer;

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


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


procedure suma_por_filas(var matriz:TipoMatriz);
var i,j, sumatorio: integer;
begin
    for i:= 1 to Filas do begin
        sumatorio := 0;
        for j:= 1 to Columnas do
            sumatorio := sumatorio + matriz[i,j];
        write(sumatorio:4);
    end;
    writeln();
end;


function genera_numero(


procedure inicia_matriz(


procedure rellena_puzzle(


procedure media_pos_neg(


procedure informacion_matriz(

begin
    writeln('Matriz:');
    escribe_matriz(matriz);
    writeln();

    writeln('Suma por filas:');
    suma_por_filas(matriz);
    writeln();

    media_pos_neg(matriz, media_pos, media_neg);
    writeln('Media valores positivos:', media_pos:5:2);
    writeln('Media valores negativos:', media_neg:5:2);
end;



var
    matriz : TipoMatriz;
begin
    randomize();
    inicia_matriz(matriz);
    informacion_matriz(matriz);
    writeln();

    rellena_puzzle(matriz);
    informacion_matriz(matriz);
end.  
