Błąd dzielenia przez zero

0

Znalazłem taki kod do obliczania wyznacznika macierzy. Problem występuje wtedy gdy na przekątnej macierzy znajduje się liczba 0. Wywala błąd dzielenia przez zero. Jak można tego uniknąć

for k:=1 to n-1 do
 for l:=k+1 to n do
   for m:=k+1 to n do
     I[l,m] := I[l,m] - I[l,k]/I[k,k] * I[k,m];
det:=1;
for k:=1 to n do det := det * I[k,k];

Dzięki za pomoc

0
for k:=1 to n-1 do
 for l:=k+1 to n do
   for m:=k+1 to n do
   begin
     if I[k,k]<>0 then
        I[l,m] := I[l,m] - I[l,k]/I[k,k] * I[k,m]
     else
        //instrukcje jakie mają być wykonane w przypadku wystąpienia dzielenia przez zero 
   end;
//nio i trzeba jeszcze poniższy fragment nieco zmodyfikować, ale to zależy od Ciebie jak chcesz to zrobić
det:=1;
for k:=1 to n do det := det * I[k,k];
0
rafal733 napisał(a)

Znalazłem taki kod do obliczania wyznacznika macierzy. Problem występuje wtedy gdy na przekątnej macierzy znajduje się liczba 0.



Znakiem tego kod jest do bani :/

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