![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 51
|
![]()
Помогите решить задачу на Паскале, вот текст:
]Выполните «обратный ход» в решении системы линейных алгебраических уравнений методом Гаусса. Вводите только элементы матрицы системы, стоящие выше главной диагонали, и вектор свободных членов. Если не трудно, можете объяснить или кинуть ссылку, где объяснено, что такое обратный и прямой ход? заранее спасибо ![]() |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 09.11.2010
Сообщений: 99
|
![]()
Обратный ход, заключается в решении треугольной системы. Из последнего уравнения находим x[m]. По найденному x[m] из (m-1) уравнения находим x[m-1]. Затем по x[m-1] и x[m] из (m-2) уравнения находим x[m-2]. Процесс продолжаем, пока не найдем x[1] из первого уравнения.
Источник: http://www.mathelp.net/MA5.htm
Если я вам помог - нажмите на весы пот аватаркой!
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 51
|
![]()
подскажите плиз, где ошибка в коде?
program L7_23; uses crt; var f:text; n,i,j:integer; h:real; x:array[1..10] of real; b:array[1..10] of real; a:array[1..10,1..10] of real; procedure vvodmatr(n,i,j:integer; var a:array[1..10,1..10] of real); begin assign(f, 'L7_23.txt'); reset(f); for i:=1 to n do begin for j:=1 to n do read (f, a[i,j]); readln(f); end; close(f); end; procedure vivodmatr(n,i,j:integer; var a:array[1..10,1..10] of real); begin for i:=1 to n do begin for j:=1 to n do write (a[i,j]:1); writeln; end; end; procedure diagonal(n,i,j:integer; var a:array[1..10,1..10] of real); begin for j:=1 to n do begin for i:=1 to n do if (j<i) then a[i,j]:=0 else if (i=j) then a[i,j]:=1; end; writeln; writeln; writeln; for i:=1 to n do begin for j:=1 to n do write (a[i,j]:1); writeln; end; end; procedure stroka(n,i:integer; var b:array[1..10] of real); begin reset (f); for i:=1 to n do read (f, b[i]); readln(f); close(f); writeln; writeln; writeln; for i:=1 to n do write (b[i]:1); writeln; end; procedure korni(n,i,j:integer; h:real; x:array[1..10] of real; b:array[1..10] of real; a:array[1..10,1..10] of real); begin for i:=n downto 1 do begin h:=b[i]; for j:=i+1 to n do h:=h-x[j]*a[i,j]; x[i]:=h/a[i,i]; end; writeln; writeln; writeln; writeln('Vivod korneilя'); for i:=1 to n do writeln('x(',i,')=',x[i]:10:5); end; begin clrscr; write('Vvedite chislo uravnenij: '); read(n); vvodmatr(n,i,j,a); vivodmatr(n,i,j,a); diagonal(n,i,j,a); stroka(n,i,b); korni(n,i,j,h,x,b,a); end. |
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 06.09.2010
Сообщений: 51
|
![]()
если не трудно, подскажите как исправить ошибку
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
решение слау методом гаусса | subarimpra | Помощь студентам | 0 | 31.10.2010 15:26 |
Решение СЛАУ методом окаймления (теория) | ROD | Свободное общение | 0 | 22.09.2010 23:29 |
Решение СЛАУ методом обратной матрицы | Lazio | Фриланс | 8 | 12.09.2010 15:40 |
решение задач методом Гауса (Delphi) | rozalija | Помощь студентам | 1 | 18.09.2009 23:28 |