13 Haziran 2015 Cumartesi

NxN denklem sistemi çözen C programı

Cramerin kuralı ile nxn lik matriz sistemlerini çözen bir c programı yapabilirsiniz. Ben yaptım Buyrun :)

#include<stdio.h>
#include<stdlib.h>
int main()
{ system("color f9");
    int i,j,r,m,h;
printf("\n  NxN Boyutundaki Denklem Sistemini Cozen Program (with Cramer's Rule)\n ");
printf("\n Matrix'in Boyutunu Girin : ");
    scanf("%d",&m);
  double a[m][m],u[m][m],k,b[m],c[m+1],ba[m];
 
  for(i=0;i<m+1;i++)      
    { c[i]=1; }

for(i=0;i<m;i++)
    {
      for(j=0;j<m;j++)
       {
         printf("\na[%d][%d]=",i,j);
         scanf("%lf",&a[i][j]);
       }
    }  
    
   for(i=0;i<m;i++)
    { for(j=0;j<m;j++)
    {
    u[i][j]=a[i][j];
    }
    } 
   
   
   for(i=0;i<m;i++)
    {
       printf("\nb[%d]=",i);
       scanf("%lf",&b[i]);
    }
   
   
    for(h=0;h<m+1;h++)
{   
   for(r=0;r<m-1;r++)
{  
      for(i=1+r;i<m;i++)
     {  k=a[i][r]/a[r][r];
        for(j=0+r;j<m;j++)
       {
        a[i][j] = a[i][j] - a[r][j]*k;
       }
   } 
}
    for(j=0;j<m;j++)
       { 
         c[h]=c[h]*a[j][j];
       } 
      
       for(i=0;i<m;i++)
    { for(j=0;j<m;j++)
    {
    a[i][j]=u[i][j];
    }
    }
        if(h>=1){
       for(j=0;j<m;j++)
       {
         a[j][h-1]=ba[j];
       }
    }
      
       for(j=0;j<m;j++)
       {
         ba[j]=a[j][h];
         a[j][h]=b[j];
       }
    }
       for(j=1;j<m+1;j++)
       { 
       printf("\n X%d = %lf ",j,c[j]/c[0]);
       } 
system("\npause");
return 0;}