İki Boyutlu Diziler
Diziler, belirli sayıda ve aynı türden bir grup ilişkili veriyi bir arada tutmamıza imkân sağlayan programlama yapılarıdır.
Dizilerin tek boyutlu olması gerekmez, istenilen boyutta dizi tanımlanabilir.
Dizi kavramının varlık sebebi birden fazla değişkeni hafızada bir arada tutmak ve böylece kolayca ulaşmaktır.
Dizilerde tutulan veri her ne olursa olsun şayet tablo gibi iki boyutluysa veya daha fazla boyuta sahipse bu verinin tek boyutlu dizilerle modellenmesi ve işlenmesi zordur.
İki boyutlu bir dizi, özünde bir boyutlu dizilerin listesi olarak tanımlanabilir.
İki boyutlu bir dizi x adet satır ve y adet de sütun ihtiva eden bir tablo gibi düşünülebilir. x ve y sıfırdan büyük birer tam sayı olmalıdır.
İki boyutlu dizilere atama yapılırken her bir sütunun elemanları “,” ile ve her bir satırın elemanları da süslü parantezlerle birbirinden ayrılır.
Her bir satırı birbirinden ayıran süslü parantezler kullanılmaksızın sadece virgüller ile veriler birbirinden ayrılarak da atama işleme gerçekleştirilebilir.
İki boyutlu dizilerin elemanlarına satır ve sütun indisleri kullanılarak erişilebilir. Örneğin:
int deger = a[2][3];
İki Boyutlu Dizilerin (Matris) çarpımında, çarpılacak olan iki matristen birincisinin sütun sayısı ile ikincisinin satır sayısı birbirine eşit olmak zorundadır. Aksi takdirde çarpma işlemi gerçekleştirilemez.
C++ ile iki boyutlu dizilerin her bir boyutunun barındıracağı eleman sayısı dinamik olarak tanımlanabilir.
İki boyutlu dizilerin fonksiyonlara parametre olarak gönderilmesi tek boyutlu dizilerin parametre olarak gönderilmesiyle hemen hemen aynıdır.
İki boyutlu bir dizi fonksiyonlara parametre olarak gönderilirken dizinin iki boyutlu olduğu belirtilmeli ve ikinci boyutun eleman sayısı mutlaka yazılmalıdır.
Çok boyutlu diziler, iki boyutlu diziler ile sınırlı değildir. Boyutu gerektiği kadar fazla olan dizi üretilebilir. Dizi boyutu arttıkça kullanılan bellek logaritmik olarak artacağı için dikkatli olunması gerekmektedir.
Çok boyutlu dizilerde dizi elemanlarına erişim genellikle iç içe for döngüleri ile sağlanır.
Çok boyutlu diziler fonksiyonlara gönderilirken fonksiyon tanımında ilk boyut dışındaki boyutlar için eleman sayısı belirtilmelidir.