Create a gist now

Instantly share code, notes, and snippets.

What would you like to do?
PROGRAM
wyznacz;
USES
crt;
CONST
kolumny=4;
wiersze=3;
TYPE
tablica=ARRAY[1..50,1..50] of integer; {tablica do liczb}
tablica_w=ARRAY[1..4] of real; {tablica z wyznacznikami}
VAR
tab:tablica; {tablica z wyznacznikami}
wyzn:tablica_w;
i:byte;
procedure wypelnij_tablice(var t:tablica;l_k,l_w:integer);
var
i,j:integer;
begin
writeln('Podaj element:');
for i:=1 to l_w do {wiersze}
begin
for j:=1 to l_k do {kolumny}
begin
write('wiersz ',i,', kolumna ',j,': ');
readln(t[i][j]);
end;
writeln;
end;
writeln('Tablica zostala wypelniona liczbami.');
writeln;
end;
procedure wyswietl_tablice(t:tablica;l_k,l_w:integer);
var
i,j:integer;
begin
for i:=1 to l_w do {wiersze}
begin
for j:=1 to l_k-1 do {kolumny}
begin
write(t[i][j]:5);
write(' ');
end;
writeln;
end;
end;
function wyznacznik(t:tablica) : real;
begin
wyznacznik:=
t[1,1] * t[2,2] * t[3,3]
+ t[1,2] * t[2,3] * t[3,1]
+ t[1,3] * t[2,1] * t[3,2]
- t[3,1] * t[2,2] * t[1,3]
- t[3,2] * t[2,3] * t[1,1]
- t[3,3] * t[2,1] * t[1,2];
end;
procedure zamien(t:tablica; nr_kol:integer);
var
i:byte;
begin
for i:=1 to 4 do
t[i,nr_kol]:=t[i,4];
wyzn[nr_kol]:=wyznacznik(t);
end;
BEGIN
clrscr;
writeln('Oto program sluzacy do rozwiazywania ukladu trzech rownan.');
writeln('Wypelnij pierwsza tablice z wartosciami a (wspolczynniki przy x):');
wypelnij_tablice(tab,kolumny,wiersze);
writeln;
writeln('Oto uklad rownan:');
wyswietl_tablice(tab,kolumny,wiersze);
for i:=1 to 4 do
zamien(tab,i);
writeln;
if wyzn[4]=0 then
writeln('Uklad ma nieskonczenie wiele rozwiazan lub nie ma ich wcale')
else
begin
writeln('Oto wyniki:');
Writeln('x1: ', wyzn[1]/wyzn[4]:3:1);
Writeln('x2: ', wyzn[2]/wyzn[4]:3:1);
Writeln('x3: ', wyzn[3]/wyzn[4]:3:1);
end;
readln;
END.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment