Menu
Coddy logo textTech

For Döngüsü ile Yineleme

Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası. Ders 14 / 56.

Artık tek tek öğelere nasıl erişeceğinizi ve bir vector boyutunu nasıl kontrol edeceğinizi bildiğinize göre, geleneksel bir for döngüsü kullanarak her öğeyi sistematik bir şekilde işlemeyi öğrenelim. Bu yaklaşım, her öğeyi sırayla ziyaret etmek için .size() yöntemini dizin tabanlı erişimle birleştirir.

Geleneksel bir for döngüsü, 0'dan başlayan ve vektörün size değerine ulaşana kadar artan bir dizin değişkeni kullanır:

std::vector<std::string> names = {"Alice", "Bob", "Charlie"};

for (int i = 0; i < names.size(); i++) {
    std::cout << names[i] << std::endl;
}

Bu örnekte, döngü koşulu i < names.size() vektörün sınırlarının dışına çıkmamamızı sağlarken names[i] geçerli dizini kullanarak her bir öğeye erişir. Döngü her adı ayrı bir satıra yazdırır.

Bu kalıp, veri koleksiyonlarını işlemek için temeldir. Dizin değişkeni i, üzerinde çalıştığın öğe üzerinde hassas kontrol sağlar; bu da her öğenin position bilgisini bilmen gerektiğinde veya iterate sırasında öğeleri değiştirmek istediğinde onu kullanışlı kılar.

loop tamamlandıktan sonra i değerinin names.size() değerine — bu durumda 3 — eşit olduğuna dikkat edin; çünkü loop, i < names.size() koşulu false olur olmaz durur.

challenge icon

Görev

Kolay

Bir traditional for loop kullanan, bir vector içindeki product names değerleri arasında dolaşan ve bunları numaralı liste biçiminde görüntüleyen bir program Create edin.

Aşağıdaki girdiler sağlanacaktır:

  • products sayısını temsil eden bir tamsayı n
  • Ardından product names değerlerini temsil eden n dize

Programınız şunları yapmalıdır:

  1. products adlı bir std::vector<std::string> Create edin
  2. n adet product names değerinin her birini vector öğesine push_back() kullanarak add edin
  3. vector içinde dolaşmak için bir index değişkeniyle traditional bir for loop kullanın
  4. loop koşulunda .size() metodunu kullanın
  5. Her öğeye index üzerinden erişmek için köşeli parantez [] operatörünü kullanın
  6. Her product öğesini, 1'den başlayan position number değeriyle belirtilen biçimde yazdırın

Aşağıdaki tam çıktı biçimini kullanın:

Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...

for loop, index 0 ile başlamalı, koşul olarak i < products.size() kullanmalı ve her yinelemede i değerini artırmalıdır. Yazdırırken, 1'den başlayan position number değerlerini görüntülemek için index değerine 1 ekleyin.

Kendin dene

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    // Ürün sayısını oku
    int n;
    cin >> n;
    
    // Ürün adlarını saklamak için bir vektör oluştur
    vector<string> products;
    
    // Ürün adlarını oku ve vektöre ekle
    for (int i = 0; i < n; i++) {
        string product;
        cin >> product;
        products.push_back(product);
    }
    
    // TODO: Kodunu aşağıya yaz
    // Vektör üzerinde gezinmek için geleneksel bir for döngüsü kullan
    // ve her ürünü konum numarasıyla yazdır
    
    return 0;
}
quiz iconKendini test et

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

Mantık & Akış bölümündeki tüm dersler

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