Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.12.2011, 01:20   #1
sintaz
 
Регистрация: 10.03.2011
Сообщений: 7
По умолчанию СЛАУ. метод гаусса Паскаль. Маленький вопрос

Было задание написать программу для решения СЛАУ методом Гаусса.
Нашел программу в интернете, совесть не позволяет просто прийти и сдавать, решил вникнуть и понять что/как/в какой последовательности происходит.

Цитата:
program Gauss;
Uses Crt;
Var n,i,j,k,r:integer;
max,c,s,M:real;
a:array [1..100,1..100] of real;
b:array [1..100] of real;
x:array [1..100] of real;
begin
ClrScr;
Write('Vvedite razmernost:');
Readln(n);
for i:=1 to n do
begin
for j:=1 to n do
begin
Write('a[',i,',',j,']=');
Read(a[i,j]);
end;
Write('b[',i,']=');
Readln(b[i]);
Writeln;
end;
for k:=1 to n do
begin
max:=abs(a[k,k]);
r:=k;
for i:=k+1 to n do
if abs(a[i,k])>max then
begin
max:=abs(a[i,k]);
r:=i;
end;
for j:=1 to n do
begin
c:=a[k,j];
a[k,j]:=a[r,j];
a[r,j]:=c;
end;
c:=b[k];
b[k]:=b[r];
b[r]:=c;
for i:=k+1 to n do
begin
M:=a[i,k]/a[k,k];
for j:=k to n do
begin
a[i,j]:=a[i,j]-a[k,j]*M;
end;
b[i]:=b[i]-b[k]*M;
end;
end;
Writeln('Stupenchatij vid sistemi:');
Writeln;
for i:=1 to n do
begin
for j:=1 to n do
Write(a[i,j]:5:1,' ');
Write('|');
Writeln(b[i]:5:1);
Writeln;
end;
Writeln('Otvet:');
Writeln;
if a[n,n]=0 then
if b[n]=0 then
Writeln('Uravnenie imeet beskonechnoe mnogestvo resheniy')
else
Writeln('Uravnenie ne imeet resheniy')
else
begin
for i:=n downto 1 do
begin
s:=0;
for j:=i+1 to n do
begin
s:=s+a[i,j]*x[j];
end;
x[i]:=(b[i]-s)/a[i,i];
end;
for i:=1 to n do
Writeln('x[',i,']=',x[i]:5:1);
end;
readln;
end.

непонятна вот эта строка s:=s+a[i,j]*x[j]; вернее последний ее элемент x[j], может кто объяснить, откуда он берется, если у нас есть квадратная матрица размерностью 4*4 в какой строке/столбце находится этот элемент?
sintaz вне форума Ответить с цитированием
Старый 15.12.2011, 01:44   #2
4ipikon
Новичок
Джуниор
 
Регистрация: 15.12.2011
Сообщений: 1
По умолчанию

Доброго времени суток! Конкретно подсказать не смогу, но могу натолкнуть на один источник, в котором чётко расписан сам метод гауса, при анализе можно найти ошибку.
4ipikon вне форума Ответить с цитированием
Старый 15.12.2011, 02:21   #3
sintaz
 
Регистрация: 10.03.2011
Сообщений: 7
По умолчанию

Спасибо, но ошибки нет, программа прекрасно работает, просто хочется узнать что значит этот элемент
sintaz вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение СЛАУ методом Гаусса Денис999 Помощь студентам 2 27.11.2011 18:31
Метод гаусса для решений СЛАУ Вечно грустная... Помощь студентам 1 21.09.2011 23:17
Решение СЛАУ методом Гаусса Medvedko0116 Помощь студентам 0 27.06.2011 11:15
Метод Гаусса с выбором главного элемента для решения СЛАУ lira_slava Помощь студентам 3 21.05.2009 20:56
СЛАУ Метод псевдообращения матриц, паскаль vdv08 Помощь студентам 8 19.11.2008 22:36