Menu
Coddy logo textTech

Podsumowanie — unikalne liczby

Część sekcji Logika i przepływ programu ścieżki C++ w Coddy. Lekcja 40 z 56.

challenge icon

Wyzwanie

Łatwy

Utwórz program, który odczytuje ciąg liczb całkowitych i używa std::set do automatycznego usuwania duplikatów, a następnie wypisuje liczbę unikalnych liczb. Pokazuje to główną zaletę zbiorów — przechowywanie kolekcji unikalnych elementów bez ręcznego sprawdzania duplikatów.

Podane zostaną następujące dane wejściowe:

  • Liczba całkowita n określająca, ile liczb zostanie wprowadzonych
  • Następnie n liczb całkowitych do przetworzenia

Twój program powinien:

  1. Utworzyć pusty zbiór std::set<int>
  2. Odczytać liczbę całkowitych, które zostaną wprowadzone
  3. Użyć pętli do odczytania każdej liczby całkowitej i wstawienia jej do zbioru za pomocą metody .insert()
  4. Po przetworzeniu wszystkich liczb użyć metody .size(), aby uzyskać liczbę unikalnych liczb
  5. Wypisać wynik pokazujący, ile unikalnych liczb znaleziono

Użyj dokładnie następującego formatu wyjściowego:

Unique numbers: [count]

Zbiór automatycznie usuwa duplikaty — gdy spróbujesz wstawić liczbę, która już istnieje, zignoruje ponowne wstawienie duplikatu. Oznacza to, że nie musisz ręcznie sprawdzać duplikatów; po prostu wstaw wszystkie liczby i pozwól zbiorowi zachować unikalność. Końcowy rozmiar zbioru dokładnie odpowiada liczbie różnych liczb w danych wejściowych.

Spróbuj swoich sił

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

int main() {
    // Wczytaj liczbę liczb całkowitych
    int n;
    cin >> n;
    
    // Utwórz pusty zbiór do przechowywania unikalnych liczb całkowitych
    set<int> uniqueNumbers;
    
    // TODO: Napisz tutaj swój kod
    // Użyj pętli, aby wczytać n liczb całkowitych i dodać je do zbioru
    
    // Wyświetl wynik
    cout << "Unique numbers: " << uniqueNumbers.size() << endl;
    
    return 0;
}

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator C++ online