niestety kod w c++, Pascalem sie nie zajmowalem. Mam nadzieje ze do czegos Ci sie to przyda.
Pozdrawiam.
//funkcja liczy wyznacznik maciezy stopnia w zapisanej w Tab[]
double fnwyzn(double Tab[],int w){
double d,mnoz,dziel;
double Tabp[10];
int ind;
d=1;
for(int i=0;i<w;i++){
if(Tab[i*w+i]==0){
for(int p=1;p<(w-i);p++){
if(Tab[i*w+i+p]=!0){
ind=p;
p=w-i;
}
else{
d=0;
}
}
for(int x=0;x<w;x++){
Tabp[x]=Tab[i+x*w];
Tab[i+x*w]=Tab[i+x*w+ind];
Tab[i+x*w+ind]=Tabp[x];
}
d*=-1;
}
d=d*Tab[i*w+i];
dziel=Tab[i*w+i];
for(int j=0;j<w;j++) {
Tab[j+i*w]=Tab[j+i*w]/dziel;
}
for (int k=1;k<=w;k++){
mnoz=Tab[k*w+i*w+i];
for(int c=0;c<w;c++){
Tab[k*w+c+i*w]=Tab[k*w+c+i*w]-mnoz*Tab[c+i*w];
}
}
}
return (d);
}