метод Гаусса, Комментарии |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
метод Гаусса, Комментарии |
NEXT |
Сообщение
#1
|
Гость |
Всем привет!!!Вот нашел Решение систем линейных уравнений методом Гаусса
uses crt; const nn = 10; type Matrix = array[1..NN,1..NN+1] of real; (* построчный ввод матрицы *) Procedure ReadMatr(var A:Matrix; var n:word ); var i, j, m: word; begin repeat write('Введите количество линейных уравн. в системе: '); readln(N) until (N>0) and (N<=NN); m:=n+1; For i:=1 to n do begin For j:=1 to m do begin write('A[',i,j,']= '); readln(A[i,j]) end end end; (* построчный вывод матрицы *) Procedure PrintMatr(A:Matrix; n:word); Var i, j, m: word; begin m:=n+1; For i:=1 to n do begin For j:=1 to m do write(A[i,j],' '); writeln end end; procedure GaussM(a:matrix;n:word; var s:byte; var x:array of real); var i, k, j: byte; m, t: real; begin i:=1; s:=1; repeat j:=i+1; k:=i; m:=abs(a[i,i]); repeat if m<abs(a[j,i]) then begin m:=abs(a[j,i]); k:=j; end; j:=j+1 until not(j<=n); if m<>0 then begin j:=i; repeat t:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=t; j:=j+1 until not(j<=n+1); k:=i+1; repeat t:=a[k,i]/a[i,i]; a[k,i]:=0; j:=i+1; repeat a[k,j]:=a[k,j]-t*a[i,j]; j:=j+1 until not(j<=n+1); k:=k+1 until not(k<=n); end else begin s:=0; end; i:=i+1 until not((i<=n)and(s=1)); if s=1 then begin i:=n; repeat x[i]:=a[i,n+1]; j:=i+1; while j<=n do begin x[i]:=x[i]-a[i,j]*x[j]; j:=j+1; end; x[i]:=x[i]/a[i,i]; i:=i-1 until not(i>=1); end; end; var b: array[0..nn] of real; a: Matrix; n, j: word; s: byte; Begin readmatr(a,n); printmatr(a,n); writeln('press any key'); readkey; GaussM(a,n,s,b); for j:=1 to n do write (b[j],' '); writeln('press any key for exit ...'); readkey end. Помогите пожалуйста расставить комментарии, а то у меня не получается |
Ozzя |
Сообщение
#2
|
Гуру Группа: Пользователи Сообщений: 1 220 Пол: Мужской Репутация: 16 |
Цитата Помогите пожалуйста расставить комментарии, а то у меня не получается Как не получается? Ставишь фигурную скобку левую, потом текст, потом правую. И всё. Комментарии введены. |
NEXT |
Сообщение
#3
|
Гость |
|
andriano |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
В комментариях обычно пишется ЦЕЛЬ производимого действия.
Например, такой коментарий не несет смысла: Counter := 0; {обнуляем Counter} а вот такой - вполне осмыслен: Counter := 0; {начинаем подсчет строк с начала} |
NEXT |
Сообщение
#5
|
Гость |
В комментариях обычно пишется ЦЕЛЬ производимого действия. Например, такой коментарий не несет смысла: Counter := 0; {обнуляем Counter} а вот такой - вполне осмыслен: Counter := 0; {начинаем подсчет строк с начала} Вот я не могу написать ЦЕЛЬ производимого действия, не понимаю, помогите пожалуйста написать!!!!! |
andriano |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
А что ты сам сделал?
|
Текстовая версия | 11.01.2025 5:40 |