Código
e também mostra a somas das linhas e das colunas
}
PROGRAM MultipM;
VAR matrizA:ARRAY[1..50,1..50] OF REAL;
matrizB:ARRAY[1..50,1..50] OF REAL;
matrizR:ARRAY[1..50,1..50] OF REAL;
matrizRsoma:ARRAY[1..50,1..50] OF REAL;
n,n1, n2, n3,i,j,k, linha, COLUNA, VALOR:INTEGER;
SOMA_COLUNA: ARRAY[1..80] OF REAL;
SOMA_LINHA: ARRAY[1..80] OF REAL;
COLUNA_1, LINHA_1: INTEGER;
BEGIN
WRITELN('Programa para calcular o resultado da multiplicação de 2 matrizes');
WRITE('Qual a linha da matrize A ? ');
READLN(n);
WRITE('Qual a coluna das matrizes A ? ');
READLN(n1);
WRITE('Qual a linha das matrizes B ? ');
READLN(n2);
WRITE('Qual a coluna das matrizes B ? ');
READLN(n3);
WRITELN('Escreva os elementos da matriz A: ');
WHILE (N<>N3) AND (N1<>N2) DO
BEGIN
WRITELN('OS NUMEROS DE COLUNAS DE UMA MATRIZ TEM QUE SER IGUAL AO DE OUTRA MATRIZ');
WRITELN('Programa para calcular o resultado da multiplicação de 2 matrizes');
WRITE('Qual a linha da matrize A ? ');
READLN(n);
WRITE('Qual a coluna das matrizes A ? ');
READLN(n1);
WRITE('Qual a linha das matrizes B ? ');
READLN(n2);
WRITE('Qual a coluna das matrizes B ? ');
READLN(n3);
WRITELN('Escreva os elementos da matriz A: ');
END;
FOR i:=1 TO n DO
BEGIN
FOR j:=1 TO n1 DO
BEGIN
WRITE('a',i,j,': ');
READLN(matrizA[i,j]);
END;
END;
WRITELN('Escreva os elementos da matriz B: ');
FOR i:=1 TO n2 DO
BEGIN
FOR j:=1 TO n3 DO
BEGIN
WRITE('b',i,j,': ');
READLN(matrizB[i,j]);
END;
END;
{ Multiplica‡Æo das matrizes A e B }
IF N < N2 THEN
BEGIN
LINHA:= N;
END
ELSE
BEGIN
LINHA:= N2;
END;
IF N1 < N3 THEN
BEGIN
COLUNA:= N1;
END
ELSE
BEGIN
COLUNA:= N3;
END;
VALOR := COLUNA*LINHA;
FOR i:=1 TO LINHA DO
BEGIN
FOR j:=1 TO COLUNA DO
BEGIN
matrizR[i,j]:=0;
FOR k:=1 TO VALOR DO
matrizR[i,j]:=matrizR[i,j]+matrizA[i,k]*matrizB[k,j];
END;
END;
FOR i:=1 TO LINHA DO
BEGIN
writeln('');
FOR j:=1 TO COLUNA DO
BEGIN
matrizRsoma[i,j]:=matrizR[i,j]+matrizR[i,j];
END;
END;
FOR i:=1 TO LINHA DO
BEGIN
FOR j:=1 TO COLUNA DO
BEGIN
matrizRsoma[i,j]:=matrizR[i,j]+matrizR[i,j];
SOMA_LINHA[i]:=SOMA_LINHA[i]+matrizRsoma[i,J]/2;
SOMA_COLUNA[j]:=SOMA_COLUNA[j]+matrizRsoma[I,j]/2;
END;
END;
WRITELN('A matriz resultado da multiplição das matrizes A e B ‚ :');
FOR i:=1 TO LINHA DO
BEGIN
writeln('');
FOR j:=1 TO COLUNA DO
WRITE(' ',i, j, ' ',matrizR[i,j] :2:2);
WRITELN;
END;
writeln('');
WRITE('Soma das Linha e Colunas é:');
writeln('');
FOR i:=1 TO LINHA DO
BEGIN
WRITELN('');
WRITELN('Linha',i,' ', SOMA_LINHA[i] :2:2);
END;
FOR i:=1 TO COLUNA DO
BEGIN
writeLn('');
WRITELN( 'Coluna',i,' ', SOMA_COLUNA[i] :2:2);
END;
END.
Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009