28 Ocak 2015 Çarşamba

Matrix Çarpımı Yapan C Programı

output
Merhaba arkadaşlar☺. Bugün size süper bir kod paylaşacağım. Bu matrix çarpımı kodu ile istediğiniz boyutta 2 matrixi çarparak size sonuç matrixini bulabilirsiniz. Matrixleri girdikten sonra kontrol edebilmeniz için görsel olarak da gösterilecektir. Arka plan rengi olsun çalışma mantığı olsun tam anlamıyla program dünyasını alt üst edemeyen bir program olsa da rahat bir kullanım ortamına sahip bir programdır. Önemli nokta ise matrixlerin kaça kaç olduğunu soran soru için
gireceğiniz girdi 2x3, 3x3, 2x2, 2x1 şeklinde girince Entere basın boyutları fark etmez istediğiniz boyutta 2 matrixi çarpabilen bir programdır. Hemen kodları aşağıda paylaşıyorum. Faydalı olması dileği ile ☺☻♥. (sadece mavi yazılar)

#include<stdio.h>
#include<stdlib.h>
int main()
{ system("color 1b");
   int i,j,m,k,r,x,y,top=0;
   printf("\n Kaca kac matrisin var? [ !! ornek: 2x3 , 3x3 v.b ] \n");
   scanf("%dx%d",&i,&j);
   int a[i][j];
   
for(m=0;m<i;m++)
{
    for(k=0;k<j;k++) 
    {
       printf("\n a[%d][%d] = ",m,k);
       scanf("%d",&a[m][k]);
    }
}
 for(m=0;m<i;m++)
{  printf("\n");
    for(k=0;k<j;k++) 
    {
       printf("%d ",a[m][k]);
    }
}
  printf("\n\n carpilacak diger matrix kaca kac ? \n");
  scanf("%dx%d",&x,&y);
if(j!=x){printf("\n Bu matrixler carpilamaz !!! hahhaha  "); system("pause");return 0; }
  int b[x][y];
  
  for(m=0;m<x;m++)
{
    for(k=0;k<y;k++) 
    {
       printf("\n b[%d][%d] = ",m,k);
       scanf("%d",&b[m][k]);
    }
}
 for(m=0;m<x;m++)
{  printf("\n");
    for(k=0;k<y;k++) 
    {
       printf("%d ",b[m][k]);
    }
}
  int c[i][y];
  for(m=0;m<i;m++)

    for(k=0;k<y;k++) 
    {
       for(r=0;r<x;r++)
      {
        top = top + a[m][r]*b[r][k];
      } 
         c[m][k]=top; top=0;
    }
}
  printf("\n\n Sonuc : \n");
  for(m=0;m<i;m++)
{  printf("\n");
    for(k=0;k<y;k++) 
    {
       printf("%d ",c[m][k]);
    }
}
system("\n\n\n\npause");      
return 0;
}