İki Matrisin toplamını hesaplayan programın Algoritması ve Kodu

Soru: Elemanlarını kullanıcının girdiği 3×3’lük iki matrisin toplamını hesaplayan programın Algoritmasını ve Kodunu yazınız.

Yanıt: Matris bilmemiz algoritmik düşünmemiz ve kod yazmamız için çok önemlidir. Soruyu çözmeden önce hiç bilmeyenler için matrisin ne olduğuna bir bakalım.

Matris nedir ?

i, j, m, n sayma sayıları; i ≤ m, j ≤ n ve her i, j için aij reel sayılar olmak üzere,

gösterimine m x n türünden matris denir. aij sayılarına ise matrisin elemanları denir.

a x b türünden bir matriste; a, satır sayısı, b ise sütun sayısıdır.

Yukarıdaki soruya dönecek olursak bize m=n olacak şekilde vermiş yani kısacası dizi uzunluklarını 3 yapacaksın, matris olduğu için de iki boyutlu dizi oluşturacaksın demiş. A,B ve C matrisi olmak üzere 3 tane matris yani dizi tanımlayacağız. A ve B için eleman girme ve ekrana bastırma döngüsü açacağız. Döngülerin hepsi iç içe olacak şekilde tanımlanacak, çünkü bildiğiniz üzere satır(i) ve sütun(j) sayılarını 0’dan başlatıp 3’e(m=n) kadar birer birer arttıracağız ve dizi elemanlarını kullanıcıdan atamasını isteyeceğiz. C Matrisi için 2 döngü daha açacağız ama bunların mantığını anlatmadan önce matrislerde toplamaya değinmek istiyorum.

Matrislerde Toplama

Sadece aynı türden olan matrisler toplanabilir. Matrisleri toplarken karşılıklı elemanlar toplanır. Yani; A ve B, m x n türünde iki matris, A’nın i’ninci satırının j’ninci sütunundaki eleman aij ve B’nin i’ninci satırının j’ninci sütunundaki eleman bij olmak üzere, A+B matrisinin i’ninci satırının j’ninci sütunundaki eleman aij+bij‘dir.

Not: Çıkarma yapmak istiyorsanız toplamadan tek farkı toplama işareti(+) yerine çıkarma işareti(-) koymanız.

C dizisine de toplama döngüsü ve elemanları ekrana bastırma döngüsü olmak üzere 2 tane iç içe döngü açıyoruz. Toplama döngüsünün içine A ve B matrisinin elemanlarını toplayıp, C matrisine ataması için C[i][j]=A[i][j]+B[i][j] denklemini yazıyoruz.

  1. Başla
  2. Dizi oluştur (A[3][3], B[3][3], C[3][3])
  3. Eleman Girme Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  4. Eleman Girme Döngüsü sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  5. Eleman Gir (A[i][j])
  6. Elemanları Ekrana Bastırma Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  7. Elemanları Ekrana Bastırma sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  8. Yazdır A[i][j]
  9. Eleman Girme Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  10. Eleman Girme Döngüsü sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  11. Eleman Gir (B[i][j])
  12. Elemanları Ekrana Bastırma Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  13. Elemanları Ekrana Bastırma Döngüsü sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  14. Yazdır B[i][j]
  15. Toplama Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  16. Toplama Döngüsü sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  17. C[i][j]=A[i][j]+B[i][j]
  18. Elemanları Ekrana Bastırma Döngüsü satır sayısı (i=0’dan 3’e kadar birer birer arttır)
  19. Elemanları Ekrana Bastırma Döngüsü sütun sayısı (j=0’dan 3’e kadar birer birer arttır)
  20. Yazdır C[i][j]
  21. Son

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

(Java programlama dili ile kodunu yazdım.)

(C++ Programlama Diliyle kodunu yazdım)

(C# Programlama Diliyle kodunu yazdım)

Kaynak: www.e-ders.org

Leave a Reply

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