Vladimir_S |
25.04.2010 09:52 |
Цитата:
Сообщение от sunbrigt
(Сообщение 326708)
Помогите! Решение систем с двухдиагональной матрицей по Гауссу.
|
С двухдиагональной? И всего-то? Ну ладно. Будем считать отличными от нуля ВСЕ элементы главной диагонали и (хотя бы некоторые) элементы верхней прилегающей диагонали. Обозначения: N - порядок матрицы коэффициентов, {A} - матрица коэффициентов, {X} - вектор искомых неизвестных, {C}- вектор свободных членов.
Код:
CONST
N=5;
VAR
A:Array[1..N,1..N] of REAL;
X,C:Array[1..N] of REAL;
i,j:Integer;
BEGIN
For i:=1 to N do
For j:=1 to N do
A[i,j]:=0;
For i:=1 to N-1 do
For j:=i to i+1 do
begin
Write('A[',i,',',j,']= ');
ReadLn(A[i,j]);
end;
Write('A[',N,',',N,']= ');
ReadLn(A[N,N]);
WriteLn;
For i:=1 to N do
begin
Write('C[',i,']= ');
ReadLn(C[i]);
end;
WriteLn;
X[N]:=C[N]/A[N,N];
For i:=N-1 downto 1 do
X[i]:=(C[i]-A[i,i+1]*X[i+1])/A[i,i];
For i:=1 to N do
WriteLn('X[',i,']= ',X[i]);
ReadLn;
END.
Здесь язык - Паскаль. Надеюсь, что устроит. Жаль, однако, что Вы не снизошли до указания требуемого языка.
|