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() metodunu 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 öğe üzerinde çalıştığınız konusunda size hassas 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.

challenge icon

Görev

Kolay

Bir ürün adları vektörü üzerinde gezinmek için geleneksel bir for döngüsü kullanan ve bunları numaralandırılmış bir liste formatında görüntüleyen 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.

Kopya kağıdı

Bir vektör üzerinde gezinmek için .size() fonksiyonunu dizin tabanlı erişimle birleştiren geleneksel bir for döngüsü kullanın:

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

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

Döngü koşulu olan i < names.size(), vektörün sınırlarının dışına çıkmamanızı sağlarken, names[i] geçerli dizini kullanarak her bir öğeye erişir. Dizin değişkeni, hangi öğe üzerinde çalıştığınız konusunda size hassas kontrol sağlar ve her bir öğenin konumunu bilmenize olanak tanır.

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