İki matrisin çarpımını hesaplayan programın Algoritması ve Kodu

Soru: İki matrisin çarpımını hesaplayan programın Algoritmasını ve Kodunu yazınız.

Yanıt: Öncelikle bir matrisi detaylarıyla gösteren resmi inceleyelim.

 

 

 

 

 

 

 

 

 

Sonra matematikte 2 matrisin çarpımı nasıl hesaplanır ona bakalım.

Bunların dışında bir de ekleyeceğim tek bir kural var, birinci matrisin sütun sayısı ile 2. Matrisin satır sayısı aynı olmak zorunda matrisler de çarpma işlemi yapabilmek için, aksi takdirde yapamayız.

Kullanıcıdan 2 matrisin satır ve sütun(x,y,t) sayısını alacağız. Matris elemanlarını tutmak için 3 ayrı dizi tanımlayacağız ve kullanıcıdan aldığımız x, y ve t’yi bu dizilerin uzunluğu olarak atayacağız. 2 matris için de Elemanları girme ve Ekranda gösterme olarak tam 2 tane iç içe döngü oluşturacağız. Sayaçlar (i ve j) 0’dan başlatılıp satır ve sütun sayısına kadar birer birer arttırılacak. Toplam sonucunda elde edilecek 3. Matris için ise 3 tane iç içe döngü kullanacağız. (i=0’dan x’e, j=0’dan t’ye ve k=0’dan t’ye kadar birer birer arttırılacak.)
Yukarıdaki resimlerde de gördüğünüz gibi 2 tane çarpma işlemi yapıp bunları toplamam lazım. İlk olarak 2 elemanı çarptırıp benim dizide tutmam gerekiyor, sonrasında ise bunun sonucu ile diğer iki elemanın çarpımını toplayıp aynı değişkene atamam ve sonrasında 2. Matrisin diğer sütununa geçip aynı işlemi yapmam gerekiyor. Bunun için;

matris3[i][j] = matris3[i][j] + (matris1[i][k] + matris2[k][j])
denklemini döngülerin içine yazmalıyım. Son olarak ise Matris 3’ü diğer matrisler de olduğu gibi ekrana bastırmalıyım.

  1. Başla
  2. Satır ve Sütun gir (x,y,t)
  3. Matrisleri oluştur. (matris1[x][y],matris2[y][t],matris3[x][t])
  4. Matrisin satır sayısı (i=0’dan x’e kadar birer birer arttır.)
  5. Matrisin sütun sayısı (j=0’dan y’ye kadar birer birer arttır.)
  6. Eleman gir(matris1[i][j])
  7. Matrisin satır sayısı (i=0’dan x’e kadar birer birer arttır.)
  8. Matrisin sütun sayısı (j=0’dan y’ye kadar birer birer arttır.)
  9. Yazdır matris1[i][j]
  10. Matrisin satır sayısı (i=0’dan y’ye kadar birer birer arttır.)
  11. Matrisin sütun sayısı (j=0’dan t’ye kadar birer birer arttır.)
  12. Eleman gir(matris2[i][j])
  13. Matrisin satır sayısı (i=0’dan y’ye kadar birer birer arttır.)
  14. Matrisin sütun sayısı (j=0’dan t’ye kadar birer birer arttır.)
  15. Yazdır matris2[i][j]
  16. Çarpma işlemini Gerçekleştiği Döngü (i=0’dan x’e kadar birer birer arttır.)
  17. j=0’dan t’ye kadar birer birer arttır.
  18. k=0’dan t’ye kadar birer birer arttır.
  19. Çarpma işlemi (matris3[i][j] = matris3[i][j] + (matris1[i][k] + matris2[k][j]))
  20. Matrisin satır sayısı (i=0’dan x’e kadar birer birer arttır.)
  21. Matrisin sütun sayısı (j=0’dan t’ye kadar birer birer arttır.)
  22. Yazdır matris3[i][j]

(Akış Diyagramını Microsoft Visio 2013 ile çizdim.)

(Java Programlama Dili ile kodunu yazdım.)

(C++ Programlama Diliyle kodunu yazdım)

(C# Programlama Diliyle kodunu yazdım)

Leave a Reply

Your email address will not be published. Required fields are marked *