Riporto qui una correzione nella procedura ProdottoDiMatriciUsandoRecord, nella quale si dovrebbero calcolare i termini della matrice prodotto p=a*b, in modo che risulti:
p11=a11*b11+a12*b21+...a1n*bn1, p12=a11*b21+a12*b22+...
ecco la procedura con la correzione:
codice:procedure ProdottoDiMatriciUsandoRecord( a : mat; b : mat ; var p : mat); begin for i:=1 to n do for j:=1 to n do begin p[c].riga:=i; p[c].colonna:=j; p[c].val:=0; for k:=1 to h do if((a[c].colonna)=(b[c].riga))and((a[c].riga)=j)and((b[c].colonna=i)) then p[c].val:=p[c].val+(a[c].val)*(b[c].val); end; writeln; writeln; writeln('La matrice prodotto risultante e'':'); writeln; writeln; for i:=1 to n do begin for j:=1 to n do for c:=1 to h do if(p[c].riga=i)and(p[c].colonna=j) then write(' ',(p[c]).val:4:2,' '); writeln; end; end;{ fine procedura ProdottoDiMatriciUsandoRecord }
Ma il risultato della compilazione è il solito errore intero 334!!!![]()

