Sub trojD() Const n = 5 'Stała zaw. ilość niewiadomych 'Deklaracja zmiennych Dim d(1 To n) As Double ' Diagonalna Dim b(1 To n) As Double ' Wyrazy wolne Dim c(1 To n - 1) As Double ' Naddiagonalna Dim a(2 To n) As Double ' Poddiagonalna 'wczytywanie danych z arkusza excel For i = 1 To n d(i) = Cells(1 + i, 2) b(i) = Cells(1 + i, 5) Next i For i = 1 To n - 1 c(i) = Cells(1 + i, 3) a(i + 1) = Cells(2 + i, 1) Next i ' Rozwiązanie metodą Thomasa ' zerujemy poddziagonalną For i = 1 To n - 1 ' dzielimy pierwszy (i-ty) wers b(i) = b(i) / d(i) c(i) = c(i) / d(i) ' zerujemy a nastepnym wersie b(i + 1) = b(i + 1) - (b(i) * a(i + 1)) d(i + 1) = d(i + 1) - (c(i) * a(i + 1)) Next i ' dzielimy ostatni wers b(n) = b(n) / d(n) 'zerujemy naddiagonalna For i = n - 1 To 1 Step -1 b(i) = b(i) - c(i) * b(i + 1) Next i ' Nasze szukane wyniki to macież b ' Wypisujemywiki Cells(1, 7) = "x" For i = 1 To n Cells(1 + i, 7) = b(i) Next i End Sub