Menu
Coddy logo textTech

Küme Üzerinde Yineleme

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

Artık bir kümeye öğe ekleyebildiğinize, öğeleri kontrol edebildiğinize ve kaldırabildiğinize göre, bir kümedeki tüm öğeler üzerinde nasıl yineleme yapacağınızı öğrenelim. Aralık tabanlı for döngüsü, her öğeyi ziyaret etmenin en temiz yolunu sunar.

Bir set üzerinde şu şekilde döngü kurabilirsiniz:

std::set<std::string> fruits = {"banana", "apple", "cherry"};

for (const std::string& fruit : fruits) {
    std::cout << fruit << std::endl;
}

Hatırlanması gereken en önemli özellik, kümelerin sıralanmış düzeni otomatik olarak korumasıdır. Yukarıdaki meyveler kümesi üzerinde yineleme yaptığınızda çıktı, onları eklediğiniz sırada değil, "apple", "banana", "cherry" olacaktır. Bu otomatik sıralama, std::set kullanmanın temel avantajlarından biridir.

Bu sıralı yineleme, verileri manuel olarak sıralamaya gerek kalmadan alfabetik veya sayısal sırada görüntülemek için kümeleri (sets) mükemmel kılar. Sayılarla, dizelerle (strings) veya diğer karşılaştırılabilir türlerle çalışıyor olun, küme bunları her zaman doğal sıralı dizilerinde sunacaktır.

challenge icon

Görev

Kolay

Kelimeleri bir kümeye ekleyip ardından alfabetik sırayla görüntülemek için üzerinde yineleme yaparak std::set otomatik sıralama özelliğini gösteren bir program oluşturun. Bu görev, kümelerle aralık tabanlı for döngülerini nasıl kullanacağınızı ve kümelerin sıralı düzeni nasıl koruduğunu anlama becerinizi test edecektir.

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

  • Kümeye eklenecek kelime sayısını temsil eden bir tam sayı n
  • Ardından kümeye eklenecek kelimeleri temsil eden n dize

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

  1. Boş bir std::set<std::string> oluşturun
  2. Eklenecek kelime sayısını okuyun
  3. Her kelimeyi okumak ve .insert() yöntemini kullanarak kümeye eklemek için bir döngü kullanın
  4. Küme üzerinde yineleme yapmak ve her kelimeyi yazdırmak için aralık tabanlı bir for döngüsü kullanın
  5. Tüm kelimeleri yazdırdıktan sonra kümedeki benzersiz kelimelerin toplam sayısını görüntüleyin

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

Kümedeki her kelime için (alfabetik sırayla):

[word]

Sonunda özet:

Total unique words: [count]

Kümedeki tüm öğeler üzerinde yineleme yapmak için for (const std::string& word : wordSet) söz dizimine sahip aralık tabanlı bir for döngüsü kullanın. Küme, std::set kullanmanın temel avantajlarından birini göstererek kelimeleri otomatik olarak alfabetik sırada sunacaktır. Girdide yinelenen kelimeler sağlanırsa bunların küme tarafından otomatik olarak yok sayılacağını ve bu nedenle yalnızca benzersiz kelimelerin görüntüleneceğini unutmayın.

Kendin dene

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

int main() {
    // Kelime sayısını oku
    int n;
    cin >> n;
    
    // Kelimeleri saklamak için boş bir küme oluştur
    set<string> wordSet;
    
    // YAPILACAK: Kodunuzu buraya yazın
    // n adet kelimeyi oku ve bunları kümeye ekle
    // Küme üzerinde gezinmek ve her kelimeyi yazdırmak için aralık tabanlı bir for döngüsü kullanın
    // Benzersiz kelimelerin toplam sayısını 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

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