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şlemler gerçekleştirmeden önce belirli bir öğenin var olup olmadığını sık sık kontrol etmeniz gerekir. .count() yöntemi, bir öğenin kümenizde mevcut olup olmadığını doğrulamak için basit bir yol sağlar.

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 öğeler üzerinde işlem yapmadan önce, bu öğelerin varlığını güvenli bir şekilde nasıl kontrol edeceğinizi gösteren bir program oluşturun. Bu görev, öğe doğrulama için .count() metodunu 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çerisinde var olup olmadığını kontrol etmek amacıyla .count() metodunu 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

Sondaki özet:

Total found: [count] out of [total_searches]

Bir öğenin set içerisinde 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.

Kopya kağıdı

Bir kümede bir öğenin var olup olmadığını kontrol etmek için .count() kullanın. Öğe varsa 1, yoksa 0 döndürür:

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 yöntem, öğelere doğrudan erişmeye çalışmaktan daha güvenlidir ve koşullu kontroller ile girdi doğrulama için mükemmeldir.

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;
    
    // TODO: 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