Prolog - Matriz y diagonal

 
Vista:

Matriz y diagonal

Publicado por Ricardo (1 intervención) el 28/09/2004 21:18:22
Por favor: Quisiera saber cómo se realiza en Prolog un programa que reciba una matriz en forma de lista y devuelva la diagonal, asumiendo una matriz cuadrada.
Es urgente. Muchísimas gracias!!!!

Ricardo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Matriz y diagonal

Publicado por CIRIUSC (2 intervenciones) el 02/02/2006 07:15:07
% Todos los derechos reservados de Ciriusc, espero te sirva man, suerte
domains

fila=integer*

matriz= fila*

predicates

sumafila(fila, fila, fila)

sumar(matriz, matriz, matriz)

clauses

/*Predicado para calcular la suma de los elementos de una fila */

sumafila([],[],[]):-!.

sumafila([], L2, L2):-!.

sumafila(L1, [], L1):-!.

sumafila([C1|Cola1], [C2|Cola2], Res):- S=C1+C2,

sumafila(Cola1, Cola2, ColaRes),

Res=[S|ColaRes].

/*Predicado de recorrido de las filas para sumar los elementos mediante el uso del predicado anterior */

sumar([],[],[]):-!.

sumar([], L2, L2):-!.

sumar(L1,[], L1):-!.

sumar([C1|Cola1], [C2|Cola2], LR):-sumafila(C1, C2, Res),

sumar(Cola1, Cola2, ColaRes),

LR=[Res|ColaRes].

goal

sumar([[1,2,3],[2,2,2],[4,4,4]],[[1,1,1],[2,1,2],[1,2,3]],R).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar