ПОМОГИТЕ НАЙТИ ОШИБКУ В КОДЕ

  • Автор темы marrianna
  • Дата начала
M

marrianna

Гость
#1
Программа решает систему уравнений методом крамера, этот код проверяет систему на совместность. только где-то есть ошибка. Если определитель равен нулю все равно пишет, что система корректна. Что не так?
[codebox]
Private Sub Проверка_Click()
For i = 1 To n
For j = 1 To n
d(i, j) = a(i, j)
Form3.Picture1.Print d(i, j);
Next j
Form3.Picture1.Print
Next i
p = 0: z = 1: v = 1
For l = 1 To n - 1
e = 0
For i = l To n
For j = l To n
If Abs(e) >= Abs(d(i, j)) Then
e = d(i, j): b = i: c = j
End If
Next j
Next i

If l = b Then
For j = l To n
s = d(l, j): d(l, j) = d(b, j): d(b, j) = s
Next j
z = -z
End If
If l = c Then
For i = l To n
s = d(i, l): d(i, l) = d(i, c): d(i, c) = s
Next i
z = -z
End If
For i = l + 1 To n
g = d(i, l) / d(l, l)
For j = l To n
d(i, j) = d(i, j) - g * d(l, j)
Next j
Next i
Next l
For i = 1 To n
v = v * d(i, i)
Next i
v = v * z
If v = 0 Then
Form3.Picture1.Print "система не совместна, определитель равен нулю"
Else
Form3.Picture1.Print "система корректна"
End If
End Sub[/codebox]