Повторение: уникальные числа
Часть раздела Логика и управление потоком путешествия по C++ на Coddy — урок 40 из 56.
Задание
ЛегкоСоздайте программу, которая считывает серию целых чисел и использует std::set для автоматической фильтрации дубликатов, а затем выводит количество уникальных чисел. Это демонстрирует главное преимущество множеств (sets) — хранение коллекций уникальных элементов без необходимости ручной проверки на дубликаты.
Будут предоставлены следующие входные данные:
- Целое число
n, представляющее количество чисел, которые будут введены - Затем
nцелых чисел для обработки
Ваша программа должна:
- Создать пустое множество
std::set<int> - Считать количество целых чисел, которые будут введены
- Использовать цикл для чтения каждого целого числа и вставки его в множество с помощью метода
.insert() - После обработки всех чисел использовать метод
.size(), чтобы получить количество уникальных чисел - Вывести результат, показывающий, сколько уникальных чисел было найдено
Используйте следующий точный формат вывода:
Unique numbers: [count]Множество автоматически обработает удаление дубликатов — когда вы пытаетесь вставить число, которое уже существует, множество игнорирует повторную вставку. Это означает, что вам не нужно вручную проверять наличие дубликатов; просто вставьте все числа, и пусть множество само обеспечит уникальность. Конечный размер множества будет точно соответствовать количеству различных чисел во входных данных.
Попробуйте сами
#include <iostream>
#include <set>
using namespace std;
int main() {
// Считать количество целых чисел
int n;
cin >> n;
// Создать пустое множество для хранения уникальных целых чисел
set<int> uniqueNumbers;
// TODO: Напишите свой код здесь
// Используйте цикл, чтобы считать n целых чисел и вставить их в множество
// Вывести результат
cout << "Unique numbers: " << uniqueNumbers.size() << endl;
return 0;
}Все уроки раздела Логика и управление потоком
1Указатели и память
Что такое указатель?Оператор взятия адресаОператор разыменованияНулевые указателиУказатели и массивыДинамическая память и 'new'Освобождение памяти и 'delete'Итоги: Практика с указателями2Векторы (динамические массивы)
Знакомство с std::vectorСоздание вектораДобавление элементовДоступ к элементамРазмер вектораИтерация с помощью цикла ForRange-based цикл ForУдаление элементовИтоги: операции с векторами5Проект: Инструмент инвентаризации
Настройка проектаДобавление и обновление товаров3Проект: Список задач
Обзор проектаДобавление задачи6Множества (уникальные элементы)
Введение в std::setСоздание множества и добавление элементовПроверка наличия элементовУдаление элементовИтерация по множествуПовторение: уникальные числа