Menu
CoddyTech

İç İçe Döngüler

Coddy'nin C# Journey'sinin Temeller bölümünün bir parçası. Ders 46 / 69.

İç içe döngü, başka bir döngünün içindeki döngüdür. İç döngü, dış döngünün her bir yinelemesi için tüm yinelemelerini tamamlar.

Bunun için iyi bir benzetme saattir: her saat için (dış döngü), dakika ibresi (iç döngü) 60 dakikalık tam bir döngüyü tamamlamalıdır.

İç içe döngü örneği:

int rows = 2;
int cols = 2;
for (int x = 0; x < rows; x++) {
	for (int y = 0; y < cols; y++) {
		Console.WriteLine(x + " " + y);
	}
}

// Bu, şu çıktıyı verecek:
// 0 0
// 0 1
// 1 0
// 1 1

Dış döngü (x) rows kez çalışır ve bu çalıştırmaların her birinde iç döngü (y) cols kez çalışır; yani iç döngünün gövdesi toplamda 2 × 2 = 4 kez yürütülür. Her döngünün kendi sayacı vardır: dış döngü her çalıştığında y yeniden 0 değerinden başlar; rows ve cols ise aynı kalır ve döngülere yalnızca ne zaman durmaları gerektiğini söyler.

İç içe döngülerle çalışırken Console.Write() yöntemine de ihtiyacın olabilir. Metni yazdırıp yeni bir satıra geçen Console.WriteLine() yönteminin aksine, Console.Write() metni sonuna yeni satır eklemeden yazdırır. Böylece çıktıyı aynı satırda oluşturabilirsin:

for (int y = 0; y < 4; y++) {
	Console.Write("* ");
}
Console.WriteLine();

// Bunun çıktısı şu olacaktır:
// * * * * 

Burada, Console.Write() aynı satıra yazdırmaya devam eder ve sondaki Console.WriteLine() bir sonraki satıra geçer.

challenge icon

Görev

Başlangıç

Verilen genişlik ve yükseklikte yıldızlardan (*) oluşan bir dikdörtgen yazdıran bir program yazın.

Girdi: İki tam sayı: width ve height

Örneğin:

width = 5 ve height = 3 ise çıktı şöyle olmalıdır:

*****
*****
*****

width = 4 ve height = 6 ise çıktı şöyle olmalıdır:

****
****
****
****
****
****

Her döngü için yeni bir sayaç kullanın (örneğin, satırlar için i ve bir satırdaki yıldızlar için j) ve bunu height veya width ile karşılaştırın. height ve width değerlerini değiştirmeyin: her satırda width değerine yeniden ihtiyaç vardır.

Kendin dene

using System;

public class Program {
    public static void Main(string[] args) {
        int width = int.Parse(Console.ReadLine());
        int height = int.Parse(Console.ReadLine());
        // Kodunuzu aşağıya yazın

    }
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler

Kendi başına pratik yap: Online C# derleyicisi