Bu yazıda C# ile For döngüsü kullanılarak yapılmış örnekler gerçekleştireceğiz. Form kullanarak oluşturacağımız bu örnekler basit örneklerden orta seviye ve zor örneklere doğru sıralanmıştır.
Örneklerimize geçmeden önce For döngüsünü biraz açıklayalım.
Genellikle kodların tekrar sayısı belli olduğunda for döngüsü kullanılır. Döngü için tanımlanan şart
ifadesi her sağlandığında döngüdeki kodlar tekrar çalışır. For döngüsünün kaç kez çalışacağını belirlemek
oldukça basittir.
Yani tekrar edilmesi gereken kod bloklarını tekrar tekrar yazmak yerine For döngüsü kullanarak istediğimiz adette çalışmasını sağlayabiliriz.
Yukarıdaki örnek kodda “i” değişkeninin alacağı her değer için aynı kodlar çalışır. “i” değişkenindeki
değer artışı “i++” sayacı (artış operatörü) ile sağlanır. “i” değişkeni sırasıyla 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 değerlerini alır ve böylece döngü içindeki kodlar toplam 10 kez çalışır. “i” değişkeninin değeri 10 olduğunda “i<10” şart ifadesi sağlanamadığı için döngü durur (Döngü değişkeni ikişer ikişer artmış olsaydı döngü içindeki kodlar 5 kez çalışacaktı.).
Basit bir örnek vererek açıklamak gerekirse bir ListBox içine 10 defa “yazilimkodlama.com” yazdırmak istediğimizi düşünelim. Bunun için aşağıdaki gibi bir kod yazılabilir.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | private void button1_Click(object sender, EventArgs e) { listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); listBox1.Items.Add("yazilimkodlama.com"); } |
Yukarıdaki kodları incelediğinizde aynı satır kodun 10 kez tekrar edildiğini göreceksiniz. Şimdi yukarıdaki kodu For döngüsü kullanarak yazalım.
1 2 3 4 5 6 7 8 9 | private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 10; i++) { listBox1.Items.Add("yazilimkodlama.com"); } } |
Yukarıdaki gibi yazdığımız kodlarda ilk örnektekiyle aynı işlemi yapacaktır.
Örneklerimize geçelim.
Örnek 1: Butona basıldığında 10 defa Adınızı Soyadınızı ListBox’ a ekleyin.
1 2 3 4 5 6 7 8 9 | private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 10; i++) { listBox1.Items.Add("yazilimkodlama.com"); } } |
Örnek 2: Butona basıldığında TextBox’ a girilen metni 10 defa ListBox’a yazdırın.
1 2 3 4 5 6 7 8 9 10 | private void button1_Click(object sender, EventArgs e) { string ad = textBox1.Text; for (int i = 1; i <= 10; i++) { listBox1.Items.Add(ad); } } |
Örnek 3: Butona basıldığında kullanıcının girdiği metni kullanıcının girdiği adet kadar listBox’ yazdırın.
1 2 3 4 5 6 7 8 9 10 11 | private void button1_Click(object sender, EventArgs e) { string ad=textBox1.Text; int adet=Convert.ToInt32(textBox2.Text); for (int i = 1; i <= adet; i++) { listBox1.Items.Add(ad); } } |
Örnek 4: Butona basıldığında 1 den 100 e kadar sayıları ListBox’ yazdırın.
1 2 3 4 5 6 7 8 9 | private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 100; i++) { listBox1.Items.Add(i); } } |
Örnek 5: Butona basıldığında 100′ den 1′ e kadar sayıları geriye doğru yazdırın.
1 2 3 4 5 6 7 8 9 | private void button1_Click(object sender, EventArgs e) { for (int i = 100; i >= 1; i--) { listBox1.Items.Add(i); } } |
Örnek 6: Butona basıldığında 1′ den kullanıcının girdiği sayıya kadar sayıları ListBox’ a ekleyin.
1 2 3 4 5 6 7 8 9 10 | private void button1_Click(object sender, EventArgs e) { int sayi = Convert.ToInt32(textBox1.Text); for (int i = 1; i <= sayi; i++) { listBox1.Items.Add(i.ToString()); } } |
Örnek 7: Butona basıldığında başlangıç ve bitiş değerini kullanıcının verdiği sayıları ListBox’ ekleyin.
1 2 3 4 5 6 7 8 9 10 11 12 | private void button1_Click(object sender, EventArgs e) { int baslangic=Convert.ToInt32(textBox1.Text); int bitis=Convert.ToInt32(textBox2.Text); for (int i = baslangic; i <= bitis; i++) { listBox1.Items.Add(i.ToString()); } } |
Örnek 8: Butona basıldığında başlangıç ve bitiş değerini kullanıcının verdiği sayılar içindeki çift sayıları ListBox’ a yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | private void button1_Click(object sender, EventArgs e) { int baslangic=Convert.ToInt32(textBox1.Text); int bitis=Convert.ToInt32(textBox2.Text); for (int i = baslangic; i <= bitis; i++) { if (i % 2 == 0) { listBox1.Items.Add(i.ToString()); } } } |
Örnek 9: Butona basıldığında başlangıç ve bitiş değerini kullanıcının verdiği sayılar içindeki 3’e ve 5’e bölünen sayıları ListBox’ a yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | private void button1_Click(object sender, EventArgs e) { int baslangic=Convert.ToInt32(textBox1.Text); int bitis=Convert.ToInt32(textBox2.Text); for (int i = baslangic; i <= bitis; i++) { if (i % 3 == 0 && i%5==0) { listBox1.Items.Add(i.ToString()); } } } |
Örnek 10: Örnek 9: Butona basıldığında başlangıç ve bitiş değerini kullanıcının verdiği sayılar içindeki 3’e ve 5’e bölünen sayıların adetini yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | private void button1_Click(object sender, EventArgs e) { int sayac = 0; int baslangic=Convert.ToInt32(textBox1.Text); int bitis=Convert.ToInt32(textBox2.Text); for (int i = baslangic; i <= bitis; i++) { if (i % 3 == 0 && i%5==0) { listBox1.Items.Add(i.ToString()); sayac++; } } MessageBox.Show("3'e ve 5'e tam bölünen sayı adeti : " + sayac); } |
Örnek 11: Buton basıldığında 1′ den kullanıcının girdiği sayıya kadar olan sayıları toplayın.
1 2 3 4 5 6 7 8 9 10 11 12 | private void button1_Click(object sender, EventArgs e) { int sonuc = 0; int sayi = Convert.ToInt32(textBox1.Text); for (int i = 1; i <= sayi; i++) { sonuc += i; } MessageBox.Show("Toplam : " + sonuc); } |
Örnek 12: Butona basıldığında kullanıcının girdiği sayının faktoriyelini hesaplayın.
1 2 3 4 5 6 7 8 9 10 11 12 | private void button1_Click(object sender, EventArgs e) { int sonuc = 1; int sayi = Convert.ToInt32(textBox1.Text); for (int i = 1; i <= sayi; i++) { sonuc *= i; } MessageBox.Show("Girileen Sayının Faktoriyeli : " + sonuc); } |
Örnek 13 : Butona basıldığında kullanıcının girdiği sayının asal sayı olup olmadığını ekranda yazdırın.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | private void button1_Click(object sender, EventArgs e) { int sayac=0; int sayi = Convert.ToInt32(textBox1.Text); for (int i = 2; i < sayi; i++) { if (sayi % i == 0) { sayac++; break; } } if(sayac== 0) { MessageBox.Show(sayi + " sayısı Asal Sayıdır."); } else { MessageBox.Show(sayi + " sayısı Asal Sayı Değildir."); } } |
Örnek 14: Butona basıldığında çarpım tablosunu ListBox’ta Listeleyin.
1 2 3 4 5 6 7 8 9 10 11 12 13 | private void button1_Click(object sender, EventArgs e) { for (int i = 1; i <= 10; i++) { for (int j = 0; j <= 10; j++) { listBox1.Items.Add(i + "x" + j + " = " + i * j); } listBox1.Items.Add("=============="); } } |
mükemel