PDA

View Full Version : وارون ماتریسn*n



mina rostami
پنج شنبه 05 آذر 1388, 20:09 عصر
سلام من دانشجوی پیام نورهستم خواهش میکنم اگرممکنه کسی کد برنامه به زبان پاسکال وارون ماتریسn*nرا برایم بنویسد یا راهنمایی وکمکی به من بکند البته دترمینالش را از اینترنت گرفتم که به پایین مثلثی تبدیل می کند اما واقعیتش چیزی متوجه نشدم خواهش می کنم کمکم کنیدفوریه ممنون می شوم :گریه::گریه::گریه:

qwerty11
پنج شنبه 05 آذر 1388, 20:57 عصر
یه زمانی این کد من واسه دترمینان بود !! امیدوارم کمکت کنه :

البته به زبان سی هستش !! فقط مهم اینه که از ایدش استفاده کنی چون خیلی راحته


float det(float a[max][max],int n)
{
int i,j,k;
float d=1,b[max][max];
for(i=0;i<n;i++)
for(j=0;j<n;j++)
b[i][j]=a[i][j];
for(i=0;i<n;i++)
{
if(a[i][i]==0)
{
for(k=i+1;k<n;k++)
if(a[k][i]!=0)
{
plus(a,i,k,1,n);
break;
}
if(k==n) return 0;
}
for(j=i+1;j<n;j++)
plus(a,j,i,-(a[j][i])/a[i][i],n);
d*=a[i][i];
}
for(i=0;i<n;i++)
for(j=0;j<n;j++)
a[i][j]=b[i][j];
return d;
}


void plus(float a[max][max],int i,int j,float m,int n)
{
for(int k=0;k<n;k++)
a[i][k]+=a[j][k]*m;
}