İç İçe Döngüler
Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 41 / 75.
İç 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. Buna iyi bir örnek saat olabilir: her saat için (dış döngü), dakika ibresi (iç döngü) 60 dakikalık tam bir turunu tamamlamalıdır.
İç içe döngü örneği:
let rows = 2;
let cols = 2;
for x in 0..rows {
for y in 0..cols {
println!("{} {}", x, y);
}
}
// Bu, aşağıdaki çıktıyı verir:
// 0 0
// 0 1
// 1 0
// 1 1Dış döngü (x) rows kez çalışır ve bu kezlerin her birinde iç döngü (y) cols kez çalışır. Her döngünün kendine ait bir sayacı vardır: Dış döngü her çalıştığında y yeniden 0'dan başlar; rows ve cols ise aynı kalır ve döngülere yalnızca ne zaman duracaklarını bildirir.
Görev
BaşlangıçVerilen genişlik ve yüksekliğe sahip, yıldızlardan (*) oluşan bir dikdörtgen yazdıran program yazın.
Girdi: İki tam sayı: width ve height (başlangıç kodu bunları zaten okur).
Ö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, bir satırdaki yıldızlar için j) ve bunu height ya da 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
use std::io;
fn main() {
let mut width_input = String::new();
let mut height_input = String::new();
io::stdin().read_line(&mut width_input).unwrap();
io::stdin().read_line(&mut height_input).unwrap();
let width: i32 = width_input.trim().parse().unwrap();
let height: i32 = height_input.trim().parse().unwrap();
// Kodunuzu aşağıya yazın
}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
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik GirdiKendi başına pratik yap: Online Rust derleyicisi