Java Çift Boyutlu Diziler

Burada satis adlı iki boyutlu dizinin bir elemanına referans vermek için program içinde, şeklinde bir ifade kullanırız. Burada satis dizinin adı, i satır indisi ve j de sütun indisidir.Satis dizisinin satır indisleri 0'dan başlar ve 4'e kadar devam eder. Sütun indisleri ise, 0 ile 2 arasında değerler alır. Aşağıda, satis dizisinin bellekte Java tarafından saklanan biçimini görüyoruz:
Buna göre, satis[0,0] elemanı 700, satis[2,1] elemanı 400 ve satis[4,2] elemanı ise 480’dir.
Satis adlı iki boyutlu dizinin eleman sayısı ise 5x3=15’tir.


İki boyutlu dizinin elemanlarını okutmak

İki boyutlu dizinin elemanlarını Java programının çalıştırılması sırasında klavyeden girmek için aşağıdaki gibi bir program kullanabiliriz. Aşağıdaki örnek programda 3 satır ve 2 sütunu olan satis adlı tablonun elemanları klavyeden giriliyor ve daha sonra tablo ekrana aktarılıyor. Şimdi bu örnek programı inceleyelim:



int  satis=new int [5,3];


public class HersatirveSutundakiEnkucukElemani {

 public static void main(String[] args) {
   float[][] tablo=new float [][]{
                 {34,11,-7,53},
                 {254,8,-65,4},
                 {110,64,33,26}
         };
   float enkucuksatir,enkucuksutun,enbuyuksatir,enbuyuksutun;
   int i,j;
  for(i=0;i<tablo.length;i++)
  {
   for(j=0;j<tablo[0].length;j++)
   {
    System.out.print(tablo[i][j]+"\t");
   }
   System.out.println();
  }
  
  for(i=0;i<tablo.length;i++)
  {
   enkucuksatir=tablo[i][0];
   enbuyuksatir=tablo[i][0];
   for(j=0;j<tablo[0].length;j++)
   {
    
    if(enkucuksatir>tablo[i][j])
    {
     enkucuksatir=tablo[i][j];
    }
    
    if(enbuyuksatir<tablo[i][j])
    {
     enbuyuksatir=tablo[i][j];
    }
    
   }
   System.out.println((i+1)+ ". satirin en kucuk elemaný "+enkucuksatir +" . en buyuk eleman "+enbuyuksatir);
  }
  System.out.println();
  for(j=0;j<tablo[0].length;j++)
  {
   enkucuksutun=tablo[0][j];
   enbuyuksutun=tablo[0][j];
   for(i=0;i<tablo.length;i++)
   {
    
    if(enkucuksutun>tablo[i][j])
    {
     enkucuksutun=tablo[i][j];
    }
    
    if(enbuyuksutun<tablo[i][j])
    {
     enbuyuksutun=tablo[i][j];
    }
    
   }
   System.out.println((j+1)+ ". sutunun en kucuk elemaný "+enkucuksutun +" . en buyuk eleman "+enbuyuksutun);
  }
 }
 

}

Yorum Gönder

0 Yorumlar