Matrisin Transpozesini ekrana yazdıran programın Algoritması ve Kodu

Soru: Matrisin Transpozesini ekrana yazdıran programın algoritmasını ve kodunu yazınız.

Yanıt: Soruya ilk olarak soruyla yanıt verelim.

Matrisin Transpozesi nedir ?

Bir A matrisinin i’ninci satırını, i’ninci sütun olarak yazma sonucu elde edilen matrise, A matrisinin transpozesi veya A matrisinin devriği denir. Devrik matris AT ile gösterilir.

Matris oluşturmak için A isminde bir dizi tanımladım. Elemanları ise:

|1234|
|5678|2×4  şeklinde olsun dedim. A’nın transpozesine ise B ismini verdiğim diziyi oluşturarak yazdım.

A’nın satır sayısı:2
A’nın sütun sayısı:4 ise;

B’nin(Yani AT ) ise satır sayısı:4
B’nin(Yani AT ) ise satır sayısı:2 olmalı. Bu yüzden B ismindeki diziyi B[4][2] olarak oluşturdum. Elemanları atamak için iç içe döngü oluşturuyoruz ve ilkini i=0’dan 2’ye kadar birer birer arttırarak, ikincisini j=0’dan 4’e kadar birer birer arttırarak yazıyorum. Elemanları da tek tek atamak için B[j][i]=A[i][j] denklemini yazacağız. Bunu da şöyle gösterelim.

A[0][0]=1, A[0][1]=2,A[0][2]=3,A[0][3]=4 ise
A[0][0]=1, A[1][0]=2,A[2][0]=3,A[3][0]=4 olmak zorunda. Bu yüzden yukarıdaki denklemi oluşturdum.

Bir tane daha iç içe aynı şekilde döngü oluşturup sayaçlardan ilkini i=0’dan 4’e kadar birer birer arttırarak, ikincisini j=0’dan 2’ye kadar birer birer arttırarak yazıyorum. Son olarak B[i][j]’yi yazdırarak B matrisini (Yani AT ) aşağıdaki gibi oluşturuyoruz.

|1 5|
|2 6|
|3 7|
|4 8|4×2 

  1. Başla
  2. Matrisleri oluştur. (A[][]={{1,2,3,4},{5,6,7,8}},B[4][2])
  3. Elemanları atama döngüsü satır kısmı. (i=0’dan 2’ye kadar birer birer arttır)
  4. İçine sütun kısmı (j=0’dan 4’e kadar birer birer arttır)
  5. Elemanı ata (B[j][i]=A[i][j])
  6. Yazdırma döngüsü satır kısmı (i=0’dan 4’e kadar birer birer arttır)
  7. İçine sütun kısmı (j=0’dan 2’ye kadar birer birer arttır)
  8. Yazdır B[i][j]
  9. Son

(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)

Kaynak: e-ders.org

Leave a Reply

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