22-06-2023
Option Explicit Sub rewenie() Dim i As Integer Dim j As Integer Dim r() As Double Dim p As Double Dim x() As Double Dim k As Integer Dim n As Integer Dim b() As Double Dim file As Integer Dim y() As Double file = FreeFile Open "C:\data.txt" For Input As file Input #file, n ReDim x(0 To n * n - 1) As Double ReDim y(0 To n - 1) As Double ReDim r(0 To n - 1) As Double For i = 0 To n - 1 For j = 0 To n - 1 Input #file, x(i * n + j) Next j Input #file, y(i) Next i Close #file For i = 0 To n - 1 p = x(i * n + i) For j = 1 To n - 1 x(i * n + j) = x(i * n + j) / p Next j y(i) = y(i) / p For j = i + 1 To n - 1 p = x(j * n + i) For k = i To n - 1 x(j * n + k) = x(j * n + k) - x(i * n + k) * p Next k y(j) = y(j) - y(i) * p Next j Next i ' Верхнетреугольная матрица For i = n - 1 To 0 Step -1 p = y(i) For j = i + 1 To n - 1 p = p - x(i * n + j) * r(j) Next j r(i) = p / x(i * n + i) Next i ' Обратный ход For i = 0 To n - 1 MsgBox r(i) Next i '<!--End of Code--> End Sub
Участник:Koctik/Решение СЛАУ на VBA.