MTM216 GÖRSEL PROGRAMLAMA Diziler
Diziler Aynı tipteki bir veri gurubunun bir değişken içinde saklanmasıdır. Veriler hafızada sıra ile bulunur. Bir örnek olarak, haftanın günleri bir boyutlu dizi olarak düşünülebilir. İlk eleman (0. Eleman), Pazartesi, son eleman da (6. Eleman) Pazar günü olacaktır. Diğer bir örnek, bir ayda bulunan günler, iki boyutlu bir dizi olarak düşünülebilir. Yatayda haftanın günleri bulunurken, düşeyde hafta sayısı olabilir. Bir yıldaki günleri de üç boyutlu bir dizi olarak düşünülebilir. 1. boyut Haftanın günleri, 2. boyut hafta numarası. 3.boyut da aylar olur.
Tek Boyutlu Diziler int[] sayilar= { 1,2,3,4,5 }; string[] gunler = {"Pazartesi","Salı","Çarşama","Perşembe","Cuma","C.tesi","Pazar"}; string[] gunler = new string[7]; gunler[0] = "Pazartesi"; gunler[1] = "Salı"; gunler[2] = "Çarşamba"; gunler[3] = "Perşembe"; gunler[4] = "Cuma"; gunler[5] = " C.tesi "; gunler[6] = "Pazar";
7 yerine dizi.Length de yazılabilir Örnek: Haftanın günlerini listbox da listeleme private void button1_Click(object sender, EventArgs e) { string[] gunler = new string[7]; gunler[0] = "Pazartesi"; gunler[1] = "Salı"; gunler[2] = "Çarşamba"; gunler[3] = "Perşembe"; gunler[4] = "Cuma"; gunler[5] = "Cumartesi"; gunler[6] = "Pazar"; for (int i = 0; i < 7; i++) listBox1.Items.Add(gunler[i]); } 7 yerine dizi.Length de yazılabilir
Foreach Döngüsü Sadece diziler ile kullanılan bilen bir döngüdür. Bir önceki örneğin foreach kullanılarak nasıl yapılacağı aşağıda gösterilmiştir. string[] gunler = new string[7]; gunler[0] = "Pazartesi"; gunler[1] = "Salı"; gunler[2] = "Çarşamba"; gunler[3] = "Perşembe"; gunler[4] = "Cuma"; gunler[5] = "Cumartesi"; gunler[6] = "Pazar"; foreach (string i in gunler) { listBox1.Items.Add(i); }
Çok Boyutlu Diziler Birden fazla boyutu olan dizilere çok boyutlu dizi denir. int[,] mdizi = { { 1, 2 }, { 3, 4 }, { 5, 6 } }; int[,] mdizi = new int[3, 2]; mdizi[0, 0] = 1; mdizi[0, 1] = 2; mdizi[1, 0] = 3; mdizi[1, 1] = 4; mdizi[2, 0] = 5; mdizi[2, 1] = 6; İki boyutlu dizi
int [ , , ] mdizi ={{{1,2},{3,4},{5,6}}, {{1,2},{3,4},{5,6}}}; int[ , , ] mdizi = new int[2, 3, 2]; mdizi[0,0,0] = 1; mdizi[0,0,1] = 2; mdizi[0,1,0] = 3; mdizi[0,1,1] = 4; mdizi[0,2,0] = 5; mdizi[0,2,1] = 6; mdizi[1,0,0] = 1; mdizi[1,0,1] = 2; mdizi[1,1,0] = 3; mdizi[1,1,1] = 4; mdizi[1,2,0] = 5; mdizi[1,2,1] = 6 Üç boyutlu dizi
Örnek: 4 satır 3 sütun aşağıdaki gibi bir matris oluşturma 1 2 3 4 private void button1_Click(object sender, EventArgs e) { int[,] mdizi = new int[4, 3]; for(int i = 0; i < 4; i++) for (int j = 0; j < 3; j++) mdizi[i, j] = i + 1; }
Örnek: 1 ile 500 arasında rastgele 100 adet tamsayı üretip bir diziye dolduran bir program yazınız. Dizideki bu sayıların en büyük ve en küçük değerlerini bularak ekrana yazdırın. Ayrıca, ortalama değerini de hesaplayarak ekranda gösterin.
private void button1_Click(object sender, EventArgs e) { int max, min; double ortalama,toplam; Random rastgelesayi = new Random(); int[] dizi = new int[100]; for (int i = 0; i < 100; i++) dizi[i] = rastgelesayi.Next(500); listBox1.Items.Add(dizi[i]); } max = dizi[0]; min = dizi[0]; toplam = 0; ortalama = 0; if (max < dizi[i]) max = dizi[i]; if (min > dizi[i]) min = dizi[i]; toplam += dizi[i]; label1.Text = "Maksimum Sayı: " + max.ToString(); label2.Text = "Minimum Sayı: " + min.ToString(); ortalama =toplam / 100; label3.Text = "100 adet Sayının ortalaması: " + ortalama.ToString();
Array Sınıfı ve Metotları