|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
02.05.2013, 21:32 | #1 |
Новичок
Джуниор
Регистрация: 02.05.2013
Сообщений: 1
|
Ришить систему линейных уравнений методом Крамера.
Очень нужно!объясните мне вот эту программку пожалуйста,а то учителю надо будет ее объяснить,а я вообще понять не могу что в ней происходит((
uses crt; type Tmass=array[1..20] of real; Tmatrix=array[1..20] of Tmass; procedure Per(k,n:integer;var a:Tmatrix;var p:integer); var z:Real;j,i:integer; begin z:=abs(a[k,k]); i:=k; p:=0; for j:=k+1 to n do begin if abs(a[j,k])>z then begin z:=abs(a[j,k]); i:=j; p:=p+1; end; end; if i>k then for j:=k to n do begin z:=a[i,j]; a[i,j]:=a[k,j]; a[k,j]:=z; end; end; function Znak(p:integer):integer; begin if p mod 2=0 then Znak:=1 Else Znak:=-1; end; procedure Opr(n:integer;a:tmatrix;var det:real); var k,i,j,p:integer;r:real; begin det:=1.0; for k:=1 to n do begin if a[k,k]=0 then Per(k,n,a,p); det:=znak(p)*det*a[k,k]; for j:=k+1 to n do begin r:=a[j,k]/a[k,k]; for i:=k to n do begin a[j,i]:=a[j,i]-r*a[k,i]; end; end; end; end; var a:Tmatrix; c:array[1..20] of Tmatrix; b,x:Tmass; det,det1:real; n,k,j,i:integer; begin clrscr; write('порядок системы n='); readln(n); writeln('введите коэфицмэнт системы:'); for i:=1 to n do for j:=1 to n do read(a[i,j]); readln; writeln('введите свободные члены:'); for i:=1 to n do read(b[i]); readln; clrscr; writeln('расширенная мтрица системы:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:7:2); write(b[i]:9:2); writeln; end; Opr(n,a,det); for i:=1 to n do begin for k:=1 to n do begin for j:=1 to n do c[i][k,j]:=a[k,j]; c[i][k,i]:=b[k]; end; Opr(n,c[i],det1); if(det=0)and(det1=0) then begin writeln(системв не определена!'); readln; exit; end; if(det=0)and(det1<>0) then begin writeln('система не имеет решения!'); readln; exit; end; x[i]:=det1/det; end; writeln('корни системы:'); for i:=1 to n do writeln('x',i,'=',x[i]:7:0); readln end. end. |
02.05.2013, 21:43 | #2 |
Форумчанин
Регистрация: 31.05.2010
Сообщений: 407
|
Gino4ka, программа решает СЛАУ методом Крамера, найдите этот метод и там все станет ясно
icq 584 308 611
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на систему 2х линейных уравнений в паскаль | katyawapka | Паскаль, Turbo Pascal, PascalABC.NET | 10 | 17.10.2012 22:09 |
Решить систему линейных уравнений | WVBR | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 10.10.2011 22:48 |
Решение системы линейных уравнений. методы Крамера и Гаусса | Lumos | Помощь студентам | 3 | 05.12.2010 12:22 |
Решить систему линейных уравнений методом простых итераций на Delphi | Кнопик | Помощь студентам | 2 | 22.10.2009 16:11 |
Решить систему линейных уравнений, которая содержит до 200 переменных, методом Гаусса. | Etlau | Помощь студентам | 5 | 05.05.2008 07:50 |