Menu
Coddy logo textTech

İç İçe Döngüler

Coddy'nin Swift Journey'sinin Temeller bölümünün bir parçası — ders 49 / 86.

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

for row in 1...3 {
    for col in 1...2 {
        print("Row \(row), Col \(col)")
    }
}
// Çıktı:
// Satır 1, Sütun 1
// Satır 1, Sütun 2
// Satır 2, Sütun 1
// Satır 2, Sütun 2
// Satır 3, Sütun 1
// Satır 3, Sütun 2

row'un her bir değeri için, iç döngü col'un tüm değerleri boyunca tamamen çalışır. Böylece 3 dış yineleme ve 2 iç yineleme ile, içerideki kod toplamda 6 kez çalışır (3 × 2).

İç içe döngüler, ızgara benzeri yapılarla çalışmak veya desenler oluşturmak için yaygın olarak kullanılır.

İşte yıldızlardan oluşan basit bir dikdörtgen yazdıran bir örnek:

for row in 1...2 {
    for col in 1...4 {
        print("*", terminator: "")
    }
    print("")  // Bir sonraki satıra geç
}
// Çıktı:
// ****
// ****

terminator: "" ifadesi, print fonksiyonunun yeni bir satır eklemesini engeller, böylece yıldızlar aynı satırda görünür. İç döngü bittikten sonra, print("") bir sonraki satıra geçer.

challenge icon

Görev

Kolay

Girdiden iki tam sayı okuyun: rows ve cols. Her hücrenin kendi satır numarası ile sütun numarasının çarpımını gösterdiği bir sayı ızgarası yazdırmak için iç içe döngüler kullanın.

Aşağıdaki girdileri alacaksınız:

  • Birinci satır: satır sayısı (örneğin, "3")
  • İkinci satır: sütun sayısı (örneğin, "4")

Gereksinimler:

  • Satırlar için bir dış döngü kullanın (1'den rows değerine kadar)
  • Sütunlar için bir iç döngü kullanın (1'den cols değerine kadar)
  • Mevcut satır ve sütun numaralarının çarpımını yazdırın
  • Aynı satırdaki değerleri bir boşlukla ayırın
  • Her satır kendi satırında olmalıdır

İpucu: Değerleri aynı satırda tutmak için terminator: " " kullanın, ardından bir sonraki satıra geçmek için iç döngüden sonra print("") kullanın.

Örneğin, rows değeri 3 ve cols değeri 4 ise, çıktı şöyle olmalıdır:

1 2 3 4 
2 4 6 8 
3 6 9 12 

Kopya kağıdı

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

for row in 1...3 {
    for col in 1...2 {
        print("Row \(row), Col \(col)")
    }
}
// Çıktı:
// Row 1, Col 1
// Row 1, Col 2
// Row 2, Col 1
// Row 2, Col 2
// Row 3, Col 1
// Row 3, Col 2

3 dış yineleme ve 2 iç yineleme ile kod toplamda 6 kez çalışır (3 × 2).

İç içe döngüler, ızgara benzeri yapılar ve desenler için kullanışlıdır:

for row in 1...2 {
    for col in 1...4 {
        print("*", terminator: "")
    }
    print("")  // Bir sonraki satıra geç
}
// Çıktı:
// ****
// ****

print fonksiyonunun yeni bir satır eklemesini önlemek ve çıktıyı aynı satırda tutmak için terminator: "" kullanın. Bir sonraki satıra geçmek için iç döngüden sonra print("") kullanın.

Kendin dene

let rows = Int(readLine()!)!
let cols = Int(readLine()!)!

// YAPILACAK: Kodunuzu aşağıya yazın
// Bir çarpım tablosu yazdırmak için iç içe döngüler kullanın
// Dış döngü: satırlar arasında gezinin (1'den rows'a kadar)
// İç döngü: sütunlar arasında gezinin (1'den cols'a kadar)
// Satır * sütun çarpımını yazdırın
// Değerleri aynı satırda tutmak için print(..., terminator: " ") kullanın
// Bir sonraki satıra geçmek için iç döngüden sonra print("") kullanı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