12 Temmuz 2016 Salı

C Programlamada 2x2 Kare Matrisin Tersini Almak

#include <iostream>

using namespace std;

//2x2 kare matrisinin tersinin alınması//

main()
{
//Gerekli olan veriler giriliyor//
int i,j;
float sakla;
float carpim1=1,carpim2=1;
float matris[2][2];
float carpan;

/*Matris elemanları buradaki döngüyle giriliyor*/
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%dx%d elemanini giriniz:",i+1,j+1);
scanf("%f",&matris[i][j]);
}
        }
printf("\n\nMatris\n");

/*Olusturulan matris burada ekrana yazdırılır */
       
        for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%3.2f ",matris[i][j]);
                }

printf("\n");
        }

/*Burada matrisin tersi alınmaya baslarken 1/(ad-bc) formülündeki ad ve bc bulunuyor*/
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
if(i==j)
{
carpim1=carpim1*matris[i][j]; /* carpim1=a*d */
}
else
{
carpim2=carpim2*matris[i][j]; /* carpim2=b*c */
}
      }
        }

carpan=1/(carpim1-carpim2); /*carpan=1/(ad-bc)*/

/*Burada a ve d yer degistiriliyor ve b ve c de eksili hale geliyor */

        for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
if(i==j)
{
sakla=matris[i][j];
matris[i][j]=matris[i+1][j+1];
matris[i+1][j+1]=sakla;
        }
        else
{
matris[i][j]=-1*matris[i][j];
}

}

}
/*Son olarak da formül gereği oluşan matris ve carpan değişkeni çarpılıyor*/
printf("\n\nMatrisin Tersi\n");

for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
printf("%3.2f  ",carpan*matris[i][j]);
}

printf("\n");
        }

return 0;
}

Hiç yorum yok:

Yorum Gönder