Nombre: Multiplicacion de Matricez
Descripción:
Este programa permite multiplicar matrices
URL: http://www.mygnet.net/codigos/pascal/matrices_y_vectores/multiplicacion_de_matricez.791
Código Fuente:
PROGRAM MULT_MATRICES;
USES CRT;
CONST LIMITE=10;
TYPE
MATRIZ = ARRAY[1..LIMITE,1..LIMITE] OF INTEGER;
VAR
I: 1..LIMITE; J:1..LIMITE; K:1..LIMITE;
M: 1..LIMITE; N:1..LIMITE; P:1..LIMITE;
MAL:INTEGER;
A:MATRIZ;
B:MATRIZ;
C:MATRIZ;
BEGIN
CLRSCR;
REPEAT
MAL:=1;
WRITELN;
WRITE('DAME EL NUMERO DE LOS RENGLONES DE LA MATRIZ A (1-10):');
READLN(M);
WRITE('DAME EL NUMERO DE COLUMNAS DE LA MATRIZ A (1-10):');
READLN(N);
WRITE('DAME EL NUMERO DE COLUMNAS DE LA MATRZ B (1-10):');
READLN(P);
IF (M IN [1..LIMITE]) AND (N IN [1..LIMITE]) AND (P IN [1..LIMITE]) THEN
MAL:=0
ELSE
BEGIN
WRITE('HAY UN ERROR EN ESTOS RANGOS'); DELAY(3000);
END
UNTIL (MAL=0);
WRITELN;WRITELN;
FOR I:= 1 TO M DO
BEGIN
WRITELN;
FOR J:= 1 TO N DO
BEGIN
WRITE('VALOR DE A[',I,', ',J,']:');
READLN(A[I,J]);
END
END;
WRITELN;WRITELN;
FOR I:= 1 TO N DO
BEGIN
WRITELN;
FOR J:=1 TO P DO
BEGIN
WRITE('VALOR DE B[',I,',',J,']:');
READLN (B [I,J])
END
END;
WRITELN;WRITELN;
WRITE('LA MATRIZ PRODUCTO C [',M,',',P,'] ES:');
WRITELN;WRITELN;
FOR I:= 1 TO M DO
BEGIN
C[I,J]:= 0;
FOR K := 1 TO N DO
C[I,J]:= C[I,J]+A[I,K]*B[K,J]
END;
FOR I:= 1 TO M DO
BEGIN
FOR J := 1 TO P DO
WRITE (C[I,J]:10 );
WRITELN;
DELAY (4000);
END;
END.