Also einen Fehler habe ich schonmal gefunden.
Du solltest dich übrigens mit der setlength Funktion vertraut machen, die nimmt auch 3 Parameter an
Delphi-Quellcode:
procedure TForm1.MultiplizierenButtonClick(Sender: TObject);
var
i: Integer;
j: Integer;
k: Integer;
summe: Integer;
begin
//Abfrage ob Spaltenanzahl der ersten Matrix gleich der Zeilenanzahl
//zweiten Matrix ist
if Length(M1Matrix[0]) = Length(M2Matrix) then
begin
//Setzen der Groesse der Ergebnismatrix
SetLength(MEMatrix, Length(M1Matrix));
for i := 0 to Length(MEMatrix) do
begin
SetLength(MEMatrix[i], Length(M2Matrix[i]));
end;
//Durchlaufen der Ergebnismatrix
for i := 0 to Length(MEMatrix)-1 do
begin
for j := 0 to Length(MEMatrix[0])-1 do
summe := 0; // <<<<<-----------------------------------------------------------fehler !!
begin
//Errechnen der Ergebniswerte aus den eingebenen Matritzen
for k := 0 to Length(M1Matrix[i])-1 do
begin
summe := summe + (M1Matrix[i,k] * M2Matrix[k,j]);
end;
MEMatrix[i,j] := summe;
StringGrid3.Cells[j,i] := IntToStr(summe);
end;
end;
end
else
begin
ShowMessage('Spaltenanzahl der ersten Matrix ist ungleich der Zeilenanzahl der zweiten Matrix. Keine Multiplikation möglich.')
end
end;