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.
Görev
KolayBir 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
nadet tam sayı - Aranacak öğe sayısını temsil eden bir tam sayı
m - Ardından set içerisinde varlığı kontrol edilecek
madet tam sayı
Programınız şunları yapmalıdır:
- Boş bir
std::set<int>oluşturun - Eklenecek öğe sayısını okuyun ve
.insert()kullanarak bunları sete ekleyin - Aranacak öğe sayısını okuyun
- Her bir arama öğesi için, set içerisinde var olup olmadığını kontrol etmek amacıyla
.count()metodunu kullanın - Her bir öğenin bulunup bulunmadığına bağlı olarak uygun mesajları yazdırın
- 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]: FoundBulunamayan öğeler için:
Searching for [number]: Not foundSondaki ö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;
}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
1İşaretçiler ve Bellek
İşaretçi Nedir?Adres OperatörüDereference OperatörüNull İşaretçilerİşaretçiler ve Diziler'new' ile Dinamik Bellek'delete' ile Belleği Serbest BırakmaÖzet - İşaretçi Pratiği2Vektörler (Dinamik Diziler)
std::vector'a GirişBir Vektör OluşturmaEleman EklemeElemanlara ErişmeVektör BoyutuFor Döngüsü ile YinelemeAralık Tabanlı For DöngüsüEleman SilmeÖzet - Vektör İşlemleri3Proje: Görev Listesi Aracı
Projeye Genel BakışGörev Ekleme6Kümeler (Benzersiz Elemanlar)
std::set'e GirişKüme Oluşturma ve Eleman EklemeEleman Varlığını Kontrol EtmeEleman SilmeKüme Üzerinde YinelemeÖzet - Benzersiz Sayılar