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 münferit öğelere nasıl erişeceğinizi ve bir vektörün boyutunu nasıl kontrol edeceğinizi bildiğinize göre, geleneksel bir for döngüsü kullanarak her bir öğeyi sistematik olarak nasıl işleyeceğimizi öğrenelim. Bu yaklaşım, her bir öğ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 boyutuna 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, i < names.size() döngü koşulu vektörün sınırlarının dışına çıkmamamızı sağlarken, names[i] mevcut indeksi kullanarak her bir öğeye erişir. Döngü, her bir ismi ayrı bir satıra yazdıracaktır.

Bu desen, veri koleksiyonlarını işlemek için temeldir. İndeks değişkeni i, hangi öğeyle çalıştığınız üzerinde size hassas bir kontrol sağlar; bu da her bir öğenin konumunu bilmeniz gerektiğinde veya yineleme sırasında öğeleri değiştirmek istediğinizde onu kullanışlı kılar.

Döngü bittikten sonra i'nin names.size() değerine — bu durumda 3 — eşit olduğunu unutmayın; çünkü döngü, i < names.size() koşulu yanlış (false) olduğu anda durur.

challenge icon

Görev

Kolay

Ürün adlarından oluşan bir vektör üzerinde gezinmek ve bunları numaralandırılmış bir liste formatında görüntülemek için geleneksel bir for döngüsü kullanan bir program oluşturun.

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

  • Ürün sayısını temsil eden bir tam sayı n
  • Ardından ürün adlarını temsil eden n adet dize (string)

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

  1. products adında bir std::vector<std::string> oluşturun
  2. n ürün adının her birini vektöre eklemek için push_back() kullanın
  3. Vektör üzerinde gezinmek için bir dizin (index) değişkenine sahip geleneksel bir for döngüsü kullanın
  4. Döngüde, döngü koşulu için .size() metodunu kullanın
  5. Her bir öğeye dizinle erişmek için köşeli parantez [] operatörünü kullanın
  6. Her ürünü, belirtilen formatta konum numarasıyla (1'den başlayarak) yazdırın

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

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

For döngüsü 0 dizini ile başlamalı, koşul olarak i < products.size() kullanmalı ve her yinelemede i değerini artırmalıdır. Yazdırırken, konum numaralarını 1'den başlayarak görüntülemek için dizine 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);
    }
    
    // YAPILACAK: Kodunuzu aşağıya yazın
    // Vektör üzerinde gezinmek için geleneksel bir for döngüsü kullanın
    // ve her ürünü konum numarasıyla birlikte yazdırın
    
    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