Witam. Mam napisać na zaliczenie kalkulator macierzowy. Niestety podczas próby napisania funkcji obliczającej wyznacznik macierzy pojawia się błąd. Oto cześć mojego kodu:
type
macierz = array[1..50,1..50] of TEdit;
kwektor = array[1..8] of integer;
var
nk : kwektor;
TabEditX,TabEditY,TabEditF: array[1..50,1..50] of TEdit;
wynik_k: double; //wyznacznik
function det(stopien, wiersz : integer; var wk : kwektor ; var A: macierz) : double;
var
i,j,k : integer;
m: double;
kolumny : kwektor; // wektor kolumn dla podmacierzy
begin
if stopien = 1 then
Result := StrToFloat(A[wiersz][wk[1]].Text)
else
begin
Result := 0; m := 1;
for i := 1 to stopien do
begin
k := 1;
for j := 1 to stopien - 1 do
begin
if k = i then inc(k);
kolumny[j] := wk[k];
inc(k);
end;
Result := Result + m * StrToFloat(A[wiersz][wk[i]].Text) * det(stopien-1,wiersz+1,kolumny,A);
m := -m;
end;
end;
end;
procedure TForm1.RadioButton4DblClick(Sender: TObject);
var
source: integer;
final: double;
begin
for i:=1 to StrToInt(EditX.Text) do nk[i] := i;
source := StrToInt(EditX.Text);
det(source,1,nk,TabEditX);
end;
Błąd w kompilatorze:
Types of actual and formal var parameters must be identical.
Niestety nie wiem co mam źle i bardzo prosiłbym o pomoc. Z góry dzięki za odpowiedź