Полина Тарасова
Полина Тарасова

Помогите, кто соображает в паскале

Решить систему уравнений методом Крамера

a11x1+a12x2=b1
a21x1+a22x2=b2

{Считать, что её выражение не равняется нулю }

АК
Андрей Калинин

Вот еще решение по методу Крамера в общем виде.

Код Pascal

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
begin
writeln('Уравнение ',i);
for j:=1 to n do
read(a[i,j]);
end;
readln;
writeln('Введите свободные члены: ');
for i:=1 to n do
read(b);
readln;
clrscr;
writeln('Расширенная матрица системы: ');
for i:=1 to n do
begin
for j:=1 to n do
write(a[i,j]:7:2);
write(b: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[k,j]:=a[k,j];
c[k,i]:=b[k];
end;
Opr(n,c,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:=det1/det;
end;
writeln('Корни сиcтемы: ');
for i:=1 to n do
writeln('x',i,'=',x:7:3);
readln
end.

ДШ
Денис Шмаглиенко

в паскале я более или менее соображаю, но не знаю как это решается чисто математически.

Чугай
Чугай

Ты метод Крамера бы описал, тебе бы быстрей код на паскале выдали! Мне например лень сейчас лезть и читать что енто за метод (вышки увы за плечами нет) , а в паскале разбираюсь.

Похожие вопросы
Помогите с Паскалем !!!
помогите через паскаль
помогите в паскале !!!
Помогите с паскалем.
Помогите с паскалем?
Помогите с паскаль!!!
Помогите по паскалю!
помогите решить задачи в паскале срочно!! ! сам вобще не соображаю
Помогите по Паскалю...
Помогите! Паскаль!!!