CodeBlanks Logo Icon CodeBlanks

Diziler ve döngüler

for ile dizinin üzerinde gezinmeyi öğrenirsin.

Diziler ve döngüler

Bir dizinin tüm elemanlarını işlemek için for döngüsü kullanırsın. En yaygın kalıp: for (int i = 0; i < N; i++) ... nums[i] .... Burada N dizinin boyutudur.

Bu yapıda i 0'dan başlar, N'den küçük olduğu sürece döner ve her yinelemede nums[i] ile bir eleman alınır. C-style dizilerde boyutu ayrı tutman gerektiği için N değerini elle yazarsın. std::array'de ise nums.size() ile dinamik alabilirsin.

Range-based for ile dizi

C-style dizilerde klasik for yanında range-based for da çalışır: for (int x : nums) std::cout << x;. Bu yapı dizin gerektirmeyen durumlar için daha kısa ve güvenlidir.

Ancak elemanın dizinine ihtiyaç duyduğun durumlar (örneğin eleman numarasını yazdırırken) klasik for gerekir. std::array'de ise hem range-based for hem de nums.size() ile klasik for kullanılabilir; ikisi de güvenlidir. Doğru aracı doğru yere seçmek kodun okunabilirliğini artırır.

Uygulama Diziyi yazdır (for)

nums dizisine {1, 2, 3, 4, 5} değeri verilmiş. for (int i = 0; i < 5; i++) döngüsüyle her elemanı std::cout << nums[i]; ile tek satırda yazdır. Çıktı 12345 olmalı.

Başlangıç kodu

main.cpp
#include <iostream>

int main() {
    int nums[5] = {1, 2, 3, 4, 5};
    // for ile tüm elemanları yazdır
    return 0;
}

Örnek çözüm

main.cpp
#include <iostream>

int main() {
    int nums[5] = {1, 2, 3, 4, 5};
    for (int i = 0; i < 5; i++) {
        std::cout << nums[i];
    }
    std::cout << std::endl;
    return 0;
}

Beklenen çıktı

12345

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Döngü kalıbını eşle

Kavram Anlamı
int i = 0 Başlangıç
i < 5 Koşul
nums[i] Dizinin i. elemanı
i++ Artış

2 for (int i = 0; i < 5; i++) std::cout << nums[i]; ne yapar?

main.cpp
int nums[5] = {1,2,3,4,5};
for (int i = 0; i < 5; i++)
  std::cout << nums[i];
  • 5. elemanı yazdırır
  • 0'dan 4'e elemanları yazdırır Doğru cevap
  • Diziyi 5'e böler
  • Sonsuz döngü oluşur

Açıklama: i = 0,1,2,3,4 için elemanlar yazdırılır.

3 Döngü gövdesini yaz

Soru
int nums[3] = {10, 20, 30};
for (int i = 0; i < 3; i++) {
    std::cout << ____;
}
Cevap
int nums[3] = {10, 20, 30};
for (int i = 0; i < 3; i++) {
    std::cout << nums[i];
}

Açıklama: nums[i] her yinelemede ilgili elemanı verir.

Başlangıç bölümündeki tüm dersler