Jump to content


Ernesto Oleques

Member Since 04/10/2006
Offline Last Active 20/10/2006, 17:33
-----

Posts I've Made

In Topic: Multiplicacao De Matrizes

04/10/2006, 18:13

Multiplica duas matrizes
(acho que são essas as regras para se multiplicar duas matrizes):

Program multiplicacao_de_matrizes; 
Var matrizA: array [1..50,1..50] of integer; 
	matrizB: array [1..50,1..50] of integer; 
	matrizAB: array [1..50,1..50] of integer; 
	lin1, col1, lin2, col2, i, j, k: integer; 

Begin
 
	 writeln;
 
	 writeln('--------  Multiplicação de 2 matrizes  --------'); 
	 
	 writeln;
	 
	 writeln('Para ser possivel a multiplicação de duas matrizes');
	 writeln('	o numero de colunas da primeira matriz');
	 writeln(' deve ser igual ao numero de linhas da segunda');
	 
	 writeln;
	 
	write('Digite o numero de linhas da primeira matriz: '); 
	 readln(lin1);
	 
	write('Digite o numero de colunas da primeira matriz: '); 
	readln(col1);
	
	writeln;
	
	write('Digite o numero de linhas da segunda matriz: '); 
	readln(lin2);
	
	write('Digite o numero de colunas da segunda matriz: '); 
	readln(col2);  
	 
	 writeln;
	 
	 if ((col1)=(lin2)) then
	 begin
	 
	 writeln('Escreva os elementos da matriz A: ');	  
	 for i:=1 to lin1 do 
	  begin
		   for j:=1 to col1 do 
		   begin 
			   write('a',i,j,': '); 
			   readln(matrizA[i,j]); 
		   end;
	  end; 
	 
	  writeln;
	 
		 writeln('Escreva os elementos da matriz B: ');	  
	  for i:=1 to lin2 do 
	  begin 
		  for j:=1 to col2 do
		  begin 
			   write('b',i,j,': '); 
			   readln(matrizB[i,j]);
		  end;
	  end; 
	 
 
	  for i:=1 to lin1 do 
	  begin 
		  for j:=1 to col2 do 
		  begin
			   matrizAB[i,j]:=0; 
			   for k:=1 to lin1 do 
			   matrizAB[i,j]:=matrizAB[i,j]+matrizA[i,k]*matrizB[k,j];
		  end; 
	  end; 

	  writeln;
	 
	  writeln('A matriz A*B :'); 
	  for i:=1 to lin1 do 
	  begin 
		  for j:=1 to col2 do
		  write('ab',i,j,': ', matrizAB[i,j],' '); 
		  writeln;
	  end; 
	 end else writeln('Nao eh possivel multiplicar essas matrizes');
End.

by Ernesto

In Topic: Soma De Matrizes No Pascal

04/10/2006, 17:56

Soma duas matrizes, A e B, porem elas devem ter o mesmo tamanho:


Program soma_de_matrizes; 
Var matrizA: array [1..50,1..50] of integer; 
	matrizB: array [1..50,1..50] of integer; 
	matrizAB: array [1..50,1..50] of integer; 
	lin1, col1, lin2, col2, i, j, k: integer; 
Begin 
	 writeln; writeln('--------  SOMA DE MATRIZES  --------');	  
	 writeln;
	 writeln; write('Digite o numero de linhas da primeira matriz: '); 
	 readln(lin1);	 
	write('Digite o numero de colunas da primeira matriz: '); 
	readln(col1);	
	writeln; write('Digite o numero de linhas da segunda matriz: '); 
	readln(lin2);	
	write('Digite o numero de colunas da segunda matriz: '); 
	readln(col2);	  
	 writeln;		
	 writeln('Escreva os elementos da matriz A: ');	  
	 for i:=1 to lin1 do begin
		   for j:=1 to col1 do begin 
			   write('a',i,j,': '); 
			   read(matrizA[i,j]); 
		   end;
		  writeln;
	 end;	  
	  writeln; writeln('Escreva os elementos da matriz B: ');	  
	  for i:=1 to lin2 do begin 
		  for j:=1 to col2 do begin 
			   write('b',i,j,': '); 
			   read(matrizB[i,j]);
		  end;
		 writeln; 
	  end;	   
	  for i:=1 to lin1 do begin 
		  for j:=1 to col2 do begin
			   matrizAB[i,j]:=0;  
				matrizAB[i,j]:=matrizA[i,j]+matrizB[i,j];
		  end; 
	  end; 
	  writeln; writeln('A matriz A+B :'); 
	  for i:=1 to lin1 do begin 
		  for j:=1 to col2 do begin
		   write('ab',i,j,': ', matrizAB[i,j],' '); 
		  end;
		 writeln;
	 end; 
End.


by Ernesto

IPB Skin By Virteq