PDA

نسخه کامل مشاهده نسخه کامل : برنامه دترمینان ماتریس n*n با پاسکال - شدیدن فوری



sama_65
04-02-2009, 18:38
سلام

این برنامه رو خیلی فوری میخوام

ممنون

gogolokhan
15-03-2009, 10:10
سلام
این هم برنامه درخواستی شما
در صورت بروز مشکل با شماره 09139321814 تماس بگیرید

gogolokhan
15-03-2009, 10:14
سلام
این هم برنامه درخواستی شما
در صورت بروز مشکل با 09139321814 تماس بگیرید


function dodo(a1,a2,a3,a4:integer):integer;
begin
result:=(a1*a4)-(a2*a3);
end;
function dete(satr :array of integer;bod:integer):integer;
var
ho:array[1..100] of integer;
gol:array[1..100] of integer;
do1:array[1..100,1..100] of integer;
do2 :array[1..100] of integer;
h,i,y1,u,m,m1,t1,y,j,i1,t,r,n:integer;
begin
y1:=1;
for u:=1 to bod do begin
for y:=1 to bod do
begin
do1[u,y]:=satr[y1-1];
y1:=y1+1;
end;
end;
for h:=1 to bod do
begin
i1:=1;
for i:=1 to bod do
begin
for j:=1 to bod do
begin
t1:=do1[1,h];
if (i<>1) then
begin
if (j<>h) then
begin
do2[i1]:=do1[i,j];
i1:=i1+1;
end;
end;
end;
end;
if bod=3 then
begin
if ((1+h) mod 2=0)then
gol[h]:= (dodo(do2[1],do2[2],do2[3],do2[4]))*t1
else
gol[h]:= (dodo(do2[1],do2[2],do2[3],do2[4]))*-1*t1;
end;
if bod<>3 then
begin
if ((1+h) mod 2=0)then
ho[h]:=dete(do2,bod-1)*t1
else
ho[h]:=dete(do2,bod-1)*t1*-1;
end;
end;
m1:=0;
if bod<>3 then
for m:=1 to bod do
m1:=m1+ho[m];
if bod=3 then
for m:=1 to bod do
m1:=m1+gol[m];
result:=m1;
end;
var
a :array[1..10000] of integer;
f:string;
i,u,y,j,t,r:integer;
begin
Write('Please Insert Columns or Rows of Matrix ');
readln(r);
writeln(r*r);
y:=r*r;
j:=0;
for i:=1 to y do begin
if (j mod r)=0 then
writeln('');
j:=j+1;
Read(u);
a[i]:=u;
end;
writeln;
write(dete(a,r));
readln;
readln;
end.