De la multiplicación de matrices debes saber que una matriz mXn multiplicada por una nXp da como resultado una mXp Supongamos las matrices anteriores y que de antemano conoces los valores m n p. Ahora defines una función donde pones tres ciclos anidados para la multiplicación en este orden: i:=1 to m k:=1 to p j:=1 to n la operación de cálculo es la que sigue. m3[i,k]:=m3[i,k]+m1[i,j]*m2[j,k] Sencillo, no es cierto. Quiero decir que ya una vez que te doy esto es muy sencillo crear tu función. Si tienes alguna duda no dudes en poreguntar. Suerte.
Hola soy yo de nuevo, primero que todo quiero agradecerte tu preocupación, pero para serte franco me gustaría saber si tu me podrías mandar el programa hecho a mi e-mail, si no puedes, lo comprenderé ya que tu no tienes ninguna obligación. Bueno amigo me despido esperando tu compresión.. .. Gracias.
Si lo que deseas es que te programe esa multiplicación deberás escoger entre estas opciones. 1. Te envío el ejecutable hecho en delphi, pues no programo en pascal estándar desde hace años. 2. Te escribo en modo texto el programa en pascal estándar y tu lo compilas. Decide y dame tu dirección para escribirte.
Hola amigo, oye te doy mil gracias por el favor que me estas haciendo, bueno en relación a lo que me propones, prefiero que me mandes el programa como texto para pascal estándar para así compilarlo yo, de antemano muchísimas gracias, Chao. ahh¡ mi mail es [email protected]
Aquí va, perdona cualquier error, pues el compilador que utilicé fui yo mismo. Saludos. type matriz : array[1..max,1..max] of integer; procedure EDatos(var ma1,ma2:matriz;var l1,a1,a2:integer); var i,j:integer; begin write('entre largo de m1');readln(l1); write('entre ancho de m1');readln(a1); writeln('Entre los valores de la matriz m1'); for i:=1 to l1 do begin for j:=1 to a1 do begin read(ma1[i,j]); write(' '); end; writeln; end; write('entre ancho de m2');readln(a2); writeln('Entre los valores de la matriz m2'); for i:=1 to a1 do begin for j:=1 to a2 do begin read(ma2[i,j]); write(' '); end; writeln; end; end; function Multiplica(ma1,ma2,l1,a1,a2):matriz; var i,j,k:integer; ma3:matriz; begin for i:=1 to l1 do for k:=1 to a2 do for j:=1 to a1 do ma3[i,j]:=ma3[i,j] + ma1[i,k]*ma2[k,j]; Multiplica:= ma3; end; procedure SDatos(ma3:matriz;l1,a2:integer) var i,j:integer; begin writeln('El resultado de la multiplicación es'); for i:=1 to l1 do begin for j:=1 to a2 do begin write(ma3[i,j]); write(' '); end; writeln; end; end; program MultMatrices; const max = 10; var m1,m2,m3 : matriz; l1,a1,a2 : integer; begin EDatos(m1,m2,l1,a1,a2); m3:=Multiplica(m1,m2,l1,a1,a2); SDatos(m3,l1,a2); end;