DİZİLER – I. Kısım YRD.DOÇ.DR. CİHAD DEMİRLİ Kaynaklar: Vatansever, F. (2009) Algoritma Geliştirme ve Programlamaya Giriş. Seçkin Yay.,Ankara
Dizi Bellekte art arda yer alan aynı türden nesneler kümesine dizi (array) denilmektedir. Bir dizi, elemanlarına aynı isimle ulaşır. Elemanlara arasındaki ayırt edici özellik bellekteki yerleridir.
Dizi tanımlama (tek boyutlu) Diziler ardışıl olarak yerleşirler ve dizi elemanları, indisi ile çağrılırak kullanılabilir. int Dizi [25]; İlk indis “0” ile başlar Dizi Dizi[0] Dizi[1] Dizi[2] … Dizi[24]
Dizi Dizi [0] Dizi elemanı Dizi indeksi 15 Dizi[0] 365 Dizi[1] -12 Dizi adı İndeks operatörü İndis (indeks) Dizi elemanı Dizi indeksi 15 Dizi[0] 365 Dizi[1] -12 Dizi[2] 5 Dizi[3] 78 Dizi[4] 1 Dizi[5]
Dizi tanımlama (tek boyutlu) int dizi [25]; Dizi bildirim operatörü Dizi türü Dizinin eleman sayısı Dizi adı
Dizi tanımlama Aynı anda birden fazla dizi tanımlaması yapılabilir; int dizi1 [10], dizi2 [10];
Tek Boyutlu Dizi (Örnek 1) N boyutlu dizinin elemanlarının klavyeden girilmesi
Tek Boyutlu Dizi (Örnek 2) N boyutlu dizinin elemanlarının karelerinin toplamı
Tek Boyutlu Dizi (Örnek 3) Klavyeden girilen N elemanlı A ve B dizilerinin skaler çarpımı
Tek Boyutlu Dizi (Örnek 4) N kişilik bir sınıfın, yıl sonu notları kullanılarak sınıf ortalamasının altında kalanlara “kaldı”, diğerlerine de “geçti” yazan program
Tek Boyutlu Dizi (Örnek 5) Klavyeden girilen bir kelimeyi/cümleyi tersten yazdıran program
Tek Boyutlu Dizi (Örnek 6) Klavyeden girilen bir kelimede/cümlede belirlenen harfi değiştirme
Çok Boyutlu Diziler İki boyutlu (matris) diziler Çok boyutlu diziler Satır ve sütundan oluşan veri topluluğu gibi düşünülebilir Çok boyutlu diziler Üç veya daha fazla boyutlu dizi elemanı içerir
İki boyutlu diziler Matris yapısındadırlar. int Dizi [4][4]; indis 1 2 1 2 3
İki boyutlu diziler Boyutları aynı olmak durumunda değildir. int Dizi [3][2] = {{1,2},{3,4},{5,6}}; Dizi [0,0] 1 Dizi [0,1] 2 Dizi [1,0] 3 Dizi [1,1] 4 Dizi [2,0] 5 Dizi [2,1] 6 indis 1 2 3 4 5 6
İki boyutlu diziler (Örnek 1)
devam edecek…