Нужен алгоритм преобразования матрицы к треугольному виду!

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
Ennor
Конструктивный критик
Конструктивный критик
 
Сообщения: 2504
Зарегистрирован: 18.12.2001 (Вт) 3:58
Откуда: Калуга -> Москва

Сообщение Ennor » 05.11.2004 (Пт) 1:39

GSerg писал(а):Практически во всех кабинетах информатики в наших школах стоит excel
...

Проблема в том, GSerg, что мне это придется реализовывать на Transact-SQL. Так что готовое решение мне не поможет... :( Ладно, что-нить придумаю.

...

Гы. Нафига я за учебниками мотался? :)
http://imcs.dvgu.ru/lib/eastprog/algebra.html
Разжевано - дальше некуда...

Faust
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 649
Зарегистрирован: 29.12.2003 (Пн) 13:38
Откуда: лаборатория

Сообщение Faust » 07.11.2004 (Вс) 14:37

Вот, откопал свой код для подсчета определителей:
Код: Выделить всё
Private Sub Command1_Click()
Dim A() As Double, B() As Boolean
Dim I() As Byte, J As Byte
Dim P As Double, S As Double, O As Integer, K As Byte, L As Byte
ReDim A(0 To N - 1, 0 To N - 1)
ReDim I(0 To N - 1)
ReDim B(0 To N - 1)
For J = 0 To N * N - 1
A(J \ N, J Mod N) = CDbl(Text1(J).Text)
Next J
For J = 0 To N - 1
B(J) = False
Next J
J = 0
I(0) = 0
S = 0
beg:
Do
If B(I(J)) Then GoTo mnext
If J < N - 1 Then
    B(I(J)) = True
    J = J + 1
    I(J) = 0
    GoTo beg
End If
'Calculating:
'From here
O = 0
P = A(N - 1, I(N - 1))
For K = 0 To N - 2
P = P * A(K, I(K))
For L = K + 1 To N - 1
If I(K) > I(L) Then O = O + 1
Next L
Next K
If O Mod 2 = 1 Then P = -P
S = S + P
'To here
mnext:
I(J) = I(J) + 1
Loop Until I(J) = N
If J > 0 Then
    B(I(J - 1)) = False
    J = J - 1
    GoTo mnext
End If
Debug.Print S
End Sub
Листинги не горят!

Пред.

Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 146

    TopList