Programlama | Programlama Dilleri | C Programlama Dili |C++

Anasayfa Programlama C / C++ Matris Çarpımı


Matris Çarpımı

AÇIKLAMA

Bu programda konsoldan girilen iki matrisin çarpılması yapılmıştır. Matris çarpması kurallarına göre 1. matrisin sutun sayısının 2.matrisin satır sayısına eşit olması gerekir. Buradaki matrisler sabit boyutlu olup sadece çarpma işlemini yansıtmaktadır. Matris çarpımının nasıl yapıldığına gelirsek; 1. matrisin 1.satırının elemanları sırasıyla 2.matrisin 1.sütünunun elemanlarıyla çarpılıp toplanır elde edilen sonuc oluşacak çarpım matrisinin 1.satır 1.sütunundaki sayı olacaktır. Sonrasında 1.matrisin 1.satırının elemanları sırasıyla 2.matrisin 2.sütununun elemanlarıyla çarpılıp toplanır elde edilen sonuc oluşacak çarpım matrisinin 1.satır 2.sütunundaki sayı olacaktır. Bu çarpım işlemi 2.matrisin tüm sütunları bitene kadar devam edecektir. Sonrasında 1.matrisin 2.satırı ile 2.matrisin bütün sutunları aynı işlemlere tabi tutulacaktır. Sonrasında 1.matrisin geriye kalan satırlarıda yine aynı işleme tabi tutulup çarpım işlemi tamamlanacaktır.

Program Kodu:

  1. //---------------------------------------------------------------------------
  2.  
  3. #include <vcl.h>
  4. #pragma hdrstop
  5. #include <stdio.h>
  6. #include <conio.h>
  7. //---------------------------------------------------------------------------
  8.  
  9. #pragma argsused
  10. int main(int argc, char* argv[])
  11. {
  12.  
  13. int a[3][2],b[2][3];
  14. int c[3][3]={{0,0,0},{0,0,0},{0,0,0}};
  15. for(int i=0;i<3;i++)
  16.  {
  17.  for(int j=0;j<2;j++)
  18.    {
  19.     printf("1.Matrisin [%d][%d].elemanini giriniz:",i,j);
  20.     scanf("%d",&a[i][j]);
  21.    }
  22.   }
  23. printf("\n");
  24. for(int i=0;i<2;i++)
  25.  {
  26.  for(int j=0;j<3;j++)
  27.    {
  28.     printf("2.Matrisin [%d][%d].elemanini giriniz:",i,j);
  29.     scanf("%d",&b[i][j]);
  30.    }
  31.  }
  32. printf("\n");
  33. for(int i=0;i<3;i++)
  34.  {
  35.  for(int j=0;j<3;j++)
  36.  {
  37.   for(int z=0;z<2;z++)
  38.    c[i][j]+=a[i][z]*b[z][j];
  39.  }
  40.  }
  41. for(int i=0;i<3;i++)
  42.  {
  43.  for(int j=0;j<3;j++)
  44.   printf("C matrisinin [%d][%d].elemaninin degeri:%d\n",i,j,c[i][j]);
  45.   }
  46. getche();
  47.         return 0;
  48. }
  49. //---------------------------------------------------------------------------
Yorumlar (0)
Sadece kayıtlı kullanıcılar yorum yazabilir!
Son Güncelleme ( Çarşamba, 10 Ağustos 2011 02:27 )  
amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım amınıza koyayım