9. Çok Boyutlu Diziler

81. MATRIS TANIMI

Matrisler 2 boyutlu satır ve sütunlardan oluşan özel dizilerdir. Matrisler de aynı türde verilerin saklanabileceği yapılardır. Matrisler Tanımlanırken kaç elemanlı olacağının belirtilmesi gerekir.

int[,] sayılar = new int[3,2];    //3 satır 2 sütundan oluşan bir matris tanımı

int[] sayılar = { {2,10}, {5,8} ,{7,5} };

Matris elemanlarına ulaşmak için indisler kullanılır.

sayılar[0,0] –> 2
sayılar[0,1] –> 10
sayılar[1,0] –> 5
sayılar[1,1] –> 8
sayılar[2,0] –> 7
sayılar[2,1] –> 5

2. MATRISE ELEMAN ATAMA ve ELEMANLARINI EKRANA YAZDIRMA

Matris elemanlarının tamamını ekrana yazdırmak istersek genellikle döngü kullanırız. Bunun dışında döngü kullanmadan da ekrana dizi elemanlarını yazdırabiliriz.

Aşağıda ilk for döngüsünde matrise eleman atanırken ikinci for döngüsünde de matristeki elemanlar ekrana bastırılmaktadır.

 static void Main(string[] args)
 {
     int[,] sayılar = new int[3,2]; 

     for(int i=0 ; i<3 ; i++)
          for(int j=0; j<2 ; j++)
            sayilar[i,j]=Convert.toInt32(Console.ReadLine());  
     
      
      for(int i=0 ; i<3 ; i++)
      {     
          for(int j=0; j<2 ; j++)
            Console.Write("{0} ",sayilar[i,j]); 
        
          Console.WriteLine();
      }

   Console.ReadKey();
 }

3. MATRIS PARAMETRE OLARAK FONKSIYONA GÖNDERME

Matris’i fonksiyona arguman olarak gönderirken sadece ismiyle göndermemiz yeterlidir. Fonksiyon bunu parametre olarak alırken ise tutucu bir ismi tipiyle beraber yazmalıyız. Unutmayınız ki matrisler referans tipli yapılardır yani fonksiyon içerisinde dizide yapılacak her değişiklik orjinal dizinin kendisinde etkili olacaktır.

  static void Main(string[] args)
  {
     int[] sayılar = {  {2,10} , {5,8} , {7,5} };

     EkranaYazdir(sayılar);

     Console.ReadKey();
  }

  public static void EkranaYazdir(int[,] x)
  {
    for(int i=0 ; i<3 ; i++)  
   {  
       for(int j=0; j<2 ; j++) 
        Console.Write("{0} ",x[i,j]);  
 
        Console.WriteLine();  
    }
  }