İki boyutlu dizilerin çalışma mantığını anlamak adına matris çarpımı güzel bir örnek olacaktır.
Matris.java adında bir Class oluşturalım ve içerisinde aşağıdaki basit kodları yazalım. public class Matris { int[][] d1 = new int[][] { {2, 2, 3}, {4, 1, 0} }; int[][] d2 = new int[][] { {5, 5}, {0, 0}, {1, 1} }; }
Test.java adındaki Class'ımızda main fonksiyonu içerisinde çarpımı yapalım.
public class Test { public static void main(String[] args) throws IOException{ // Matris boyut uzunlukları System.out.println(1); Matris m = new Matris();
System.out.println("D1 matrisinin satır sayısı: "+ m.d1.length); System.out.println("D1 matrisinin sütun sayısı: "+ m.d1[1].length);
System.out.println("İlk matris yazdırılıyor"); for(int a=0; a for(int b=0; b System.out.print(m.d1[a][b] + " "); } System.out.print("\n"); } System.out.println(""); System.out.println("İkinci matris yazdırılıyor"); for(int a=0; a for(int b=0; b System.out.print(m.d2[a][b] + " "); } System.out.print("\n"); } System.out.println(""); System.out.println("MATRIS CARPIMI HESAPLANIYOR"); int[][] toplamMatrisi = new int[m.d1.length][m.d2[0].length]; int araToplam = 0; for(int j=0; j for(int k=0, l=0; k araToplam += m.d1[j][k] * m.d2[k][l]; if(k==2) { toplamMatrisi[j][l] = araToplam; araToplam = 0; k = -1; l++; } } } for(int i=0; i for(int y=0; y System.out.print(toplamMatrisi[i][y] + " "); } System.out.print("\n"); } } }
|