problem z wyznacznikiem macierzy

0

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ź

0

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ź

1.Błędy się podaje wszystkie i całe (tzn. razem z linią itd.).
2.Ten błąd dotyczy niemożności rzutowania w przypadku gdy zmienna w procedurze jest innego typu, czyli łopatologicznie: próbujesz wywołać procedurę z parametrem który jest innego typu a w procedurze jest jako var (wobec czego nie można go zamienić).

A tak poza tym to na googlu też byś znalazł opis tego błędu.

0
  1. TabEditX musi być typu macierz
  2. Wywal Edity i zastosuj TStringGrid (trzeba będzie trochę zmienić function det)

1 użytkowników online, w tym zalogowanych: 0, gości: 1