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

Тема в разделе "Visual Basic", создана пользователем marrianna, 5 июн 2008.

  1. marrianna

    marrianna Гость

    Программа решает систему уравнений методом крамера, этот код проверяет систему на совместность. только где-то есть ошибка. Если определитель равен нулю все равно пишет, что система корректна. Что не так?
    [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]
     
Загрузка...
Похожие Темы - ПОМОГИТЕ НАЙТИ ОШИБКУ
  1. OlgaZag
    Ответов:
    1
    Просмотров:
    1.292
  2. OlgaZag
    Ответов:
    0
    Просмотров:
    524
  3. Google313
    Ответов:
    0
    Просмотров:
    1.001
  4. Marikd
    Ответов:
    2
    Просмотров:
    1.210
  5. ruivit
    Ответов:
    2
    Просмотров:
    1.330

Поделиться этой страницей