Menu
Coddy logo textTech

Küme Oluşturma ve Eleman Ekleme

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

Artık bir kümenin (set) ne olduğunu bildiğinize göre, nasıl oluşturulacağını ve ona nasıl eleman ekleneceğini öğrenelim. Bir std::set yapısına eleman eklemek için .insert() metodunu kullanırsınız.

Boş bir küme oluşturma ve eleman ekleme yöntemi şöyledir:

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

Kümelerin en önemli özelliği, yinelenen değerleri otomatik olarak reddetmeleridir. Aynı değeri iki kez eklemeye çalışırsanız, küme değişmeden kalır:

numbers.insert(5);  // Bu başka bir 5 eklemeyecektir
numbers.insert(5);  // Bu da eklemeyecektir

Tüm bu eklemelerden sonra, kümeniz yalnızca üç benzersiz öğe içerecektir: 2, 5 ve 8 (otomatik olarak sıralanmış). 5'i eklemeye yönelik yinelenen girişimler basitçe göz ardı edilir; bu da kümeleri benzersiz veri koleksiyonlarını sürdürmek için bu kadar kullanışlı kılan şeydir.

challenge icon

Görev

Kolay

Bir kümeye (set), yinelenen değerler de dahil olmak üzere birkaç tam sayı ekleyerek ve ardından yinelenenlerin otomatik olarak yoksayıldığını kanıtlamak için son boyutu görüntüleyerek std::set yapısının benzersiz öğe özelliğini gösteren bir program oluşturun.

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

  • Eklenecek tam sayı sayısını temsil eden bir tam sayı n
  • Ardından kümeye eklenecek n adet tam sayı

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

  1. Boş bir std::set<int> oluşturun
  2. Eklenecek tam sayı sayısını okuyun
  3. Her bir tam sayıyı okumak ve .insert() yöntemini kullanarak kümeye eklemek için bir döngü kullanın
  4. Tüm eklemelerden sonra, .size() yöntemini kullanarak kümenin son boyutunu yazdırın
  5. Kaç tane yinelenen denemenin yoksayıldığını gösteren bir mesaj yazdırın

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

Set size: [final_size]
Duplicates ignored: [number_of_duplicates]

Yoksayılan yinelenenlerin sayısı, toplam ekleme denemesi sayısı ile kümenin son boyutu arasındaki fark olarak hesaplanmalıdır. Bu, kümelerin yinelenen değerleri reddederek benzersizliği otomatik olarak koruduğunu gösterir; bu da benzersiz öğe koleksiyonlarını depolamak için onların temel özelliğidir.

Kopya kağıdı

Bir küme oluşturmak ve eleman eklemek için .insert() kullanın:

std::set<int> numbers;
numbers.insert(5);
numbers.insert(2);
numbers.insert(8);

Kümeler kopyaları otomatik olarak reddeder - aynı değeri birden fazla kez eklemek yalnızca bir kopyayı tutar:

numbers.insert(5);  // Bu başka bir 5 eklemeyecektir
numbers.insert(5);  // Bu da eklemeyecektir

Kümedeki benzersiz elemanların sayısını almak için .size() kullanın.

Kendin dene

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

int main() {
    // Eklenecek tam sayıların sayısını oku
    int n;
    cin >> n;
    
    // Boş bir küme oluştur
    set<int> mySet;
    
    // YAPILACAK: Kodunuzu buraya yazın
    // n adet tam sayıyı okumak ve bunları kümeye eklemek için bir döngü kullanın
    // Kaç tane yinelenen değerin yoksayıldığını hesaplayın
    
    // Sonuçları yazdır
    cout << "Set size: " << mySet.size() << endl;
    cout << "Duplicates ignored: " << /* yinelenenleri hesapla */ << 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