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:
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include <stdio.h> #include <conio.h> //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[]) { int a[3][2],b[2][3]; int c[3][3]={{0,0,0},{0,0,0},{0,0,0}}; for(int i=0;i<3;i++) { for(int j=0;j<2;j++) { scanf("%d",&a[i][j]); } } for(int i=0;i<2;i++) { for(int j=0;j<3;j++) { scanf("%d",&b[i][j]); } } for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { for(int z=0;z<2;z++) c[i][j]+=a[i][z]*b[z][j]; } } for(int i=0;i<3;i++) { for(int j=0;j<3;j++) } getche(); return 0; } //---------------------------------------------------------------------------