Показать сообщение отдельно
Старый 25.04.2010, 09:52   #2 (permalink)
Vladimir_S
Специалист
 
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
По умолчанию

Цитата:
Сообщение от sunbrigt Посмотреть сообщение
Помогите! Решение систем с двухдиагональной матрицей по Гауссу.
С двухдиагональной? И всего-то? Ну ладно. Будем считать отличными от нуля ВСЕ элементы главной диагонали и (хотя бы некоторые) элементы верхней прилегающей диагонали. Обозначения: 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.
Здесь язык - Паскаль. Надеюсь, что устроит. Жаль, однако, что Вы не снизошли до указания требуемого языка.
Vladimir_S вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070