11 MAYIS 2017
PERŞEMBE
14.36
Youtube
Youtube kanalım açıldı! Daha detaylı ve güncel konu anlatımları için takip etmeyi unutmayın.
C++ Çok Boyutlu Diziler (Multidimensional Arrays)

Çok boyutlu diziler, temelde "dizilerin dizileri" tabiri ile anılmaktadır. Bu tabiri biraz açmak gerekirse, örneğin iki boyutlu diziler ele alınarak bir matris sistemine benzettiğimizi dile getirebiliriz.

 

Temeli anlayabilmek amacıyla 3x4 ebatında bir matrisimiz olsun.

Bu matrisimizi ele alarak bunun içerisinde rastgele veriler olduğunu düşünelim. Örneğin;

Biz bunu matris olarak ele alarak dizinin 0x0 elemanının 10'a eşit olduğunu görebiliyoruz. Öyleyse aynı işlemi C++'ta da uygulayabiliriz. Peki burada diziler nasıl bir yardımcı konumundalar?

Dizi Oluşturmak

Temelde dizi oluşturmak için şöyle bir kod yapısına ihtiyaç duyuyoruz;

int dizi[4] = {10,5,12,20}

Bu dizi içerisindeki 12 değerini almak için şöyle bir koda ihtiyacımız oluyor;

cout << dizi[2];

Aslında temelde dizinin 2. elemanını çağırırken yaptığımız işlem tek taraflı olduğu için ilk kutumuz boş değeri döndürüyor. Yani 0. satır, 2. sütun gibi düşünebiliriz. Öyleyse biz bunu matris sistemine uyarlarsak 0x2 olarak ele alabiliriz.

Çok Boyutlu Dizi Oluşturmak

Yukarıdaki dizimizi çoğaltmak istersek (yapı anlamında), şöyle bir yapı oluşturabiliriz;

int dizi[3][4] = {{10,5,12,20},{7,3,14,22},{8,7,8,24}};

Sırası ile satırları yazdırıyoruz. Yani temelde var olan dizi elemanımıza yeni satır eklerken süslü parantezleri dikkatli kullanmalıyız. 3 satırlı ve 4 sütunlu olan bu dizimizde oluşturduğumuz yapı yukarıkdai görselimizde yer verdiğimiz elemanlarımızı içeriyor. Öyleyse ben bu diziyi bir matris olarak ele alıp matrisimin 2x1 konumunda yer alan 7 elemanımı ekrana yazdırmak için şöyle bir kod parçasına ihtiyaç duyuyorum;

cout << dizi[2][1];

Mantığı anladıysak bu diziyi ekrana çıktı olarak verdirdiğimizi varsayalım. Kod yapısını ve çıktı sonucunu şöyle inceleyebiliriz;

ÇÖZÜM

int main() {
	int dizi[3][4] = {{10,5,12,20},{7,3,14,22},{8,7,8,24}};
	
	for(int i=0; i<3; i++) {
		for(int j=0; j<4; j++) {
			cout << dizi[i][j] << "\t";
		}
		cout << endl;
	}
}

YORUMLAR 0
Bu konuya henüz kimse yorum yapmadı.
İlk yorumu sen yapmak ister misin?
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et