Menu
Coddy logo textTech

Eleman Varlığını Kontrol Etme

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

Kümelerle çalışırken, üzerinde işlem yapmadan önce belirli bir öğenin var olup olmadığını kontrol etmeniz gerekebilir. .count() yöntemi, bir öğenin kümenizde bulunup bulunmadığını doğrulamanın basit bir yolunu sunar.

Tıpkı map'lerde olduğu gibi, .count() metodu eleman kümede mevcutsa 1, mevcut değilse 0 değerini döndürür. Bu, onu koşullu kontroller için mükemmel kılar:

std::set<int> numbers = {10, 20, 30};

if (numbers.count(20)) {
    std::cout << "Found 20 in the set!" << std::endl;
} else {
    std::cout << "20 is not in the set" << std::endl;
}

Bu yaklaşım, özellikle var olup olmadıklarından emin olmadığınızda, öğelere doğrudan erişmeye çalışmaktan çok daha güvenlidir. Kullanıcı girişini doğrulamak, hataları önlemek veya kümenizde o anda neyin saklandığına bağlı olarak kararlar vermek için .count() yöntemini kullanabilirsiniz.

challenge icon

Görev

Kolay

Bir std::set içindeki öğelerin varlığını, üzerlerinde işlem yapmadan önce güvenli bir şekilde nasıl kontrol edeceğinizi gösteren bir program oluşturun. Bu zorluk, öğe doğrulama için .count() yöntemini anlama düzeyinizi test edecektir.

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

  • Sete başlangıçta eklenecek öğe sayısını temsil eden bir tam sayı n
  • Ardından sete eklenecek n adet tam sayı
  • Aranacak öğe sayısını temsil eden bir tam sayı m
  • Ardından set içerisinde varlığı kontrol edilecek m adet tam sayı

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

  1. Boş bir std::set<int> oluşturun
  2. Eklenecek öğe sayısını okuyun ve .insert() kullanarak bunları sete ekleyin
  3. Aranacak öğe sayısını okuyun
  4. Her bir arama öğesi için, set içinde var olup olmadığını kontrol etmek üzere .count() yöntemini kullanın
  5. Her bir öğenin bulunup bulunmadığına bağlı olarak uygun mesajları yazdırın
  6. Tüm aramalardan sonra, bulunan toplam öğe sayısını yazdırın

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

Her bir arama sonucu için:

Searching for [number]: Found

Bulunamayan öğeler için:

Searching for [number]: Not found

Sonundaki özet:

Total found: [count] out of [total_searches]

Bir öğenin set içinde var olup olmadığını kontrol etmek için numbers.count(searchValue) kullanın. Eğer 1 dönerse öğe mevcuttur; 0 dönerse öğe mevcut değildir. Arama işlemleri sırasında kaç öğenin başarıyla bulunduğunu takip etmek için bir sayaç tutun.

Kendin dene

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

int main() {
    // Kümeye eklenecek eleman sayısını oku
    int n;
    cin >> n;
    
    // Boş bir küme oluştur
    set<int> numbers;
    
    // n adet elemanı oku ve kümeye ekle
    for (int i = 0; i < n; i++) {
        int element;
        cin >> element;
        numbers.insert(element);
    }
    
    // Aranacak eleman sayısını oku
    int m;
    cin >> m;
    
    int foundCount = 0;
    
    // YAPILACAK: Kodunuzu aşağıya yazın
    // Her bir arama elemanı için:
    // 1. Arama değerini oku
    // 2. Mevcut olup olmadığını kontrol etmek için numbers.count(searchValue) kullanın
    // 3. Uygun mesajı yazdırın
    // 4. Eleman bulunursa foundCount değerini güncelleyin
    
    // Özeti yazdır
    cout << "Total found: " << foundCount << " out of " << m << endl;
    
    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