Программирование. Принципы и практика использования C++ Исправленное издание
Шрифт:
Обратите внимание, насколько удобным оказался оператор
Стандартная функция
4.6.3. Текстовый пример
Приведенный выше пример интересен нам с общей точки зрения. Разумеется, среднее значение и медиана температуры интересуют многих людей — метеорологов, аграриев и океанографов, — но нам важна общая схема: использование вектора и простых операций. Можно сказать, что при анализе данных нам необходим вектор (или аналогичная структура данных; см. главу 21). В качестве примера создадим простой словарь.
Если в эту программу ввести несколько слов, то она выведет их в алфавитном порядке без повторов. Например, допустим, что в программу вводятся слова
В ответ программа выведет на экран следующие слова:
Как
Когда мы считывали числа (см. раздел 4.6.2), для прекращения ввода просто вводили какой-то символ, который не был числом. Однако для строк этот прием не работает, так как в строку может быть считан любой (одинарный) символ. К счастью, существуют символы, которые не являются одинарными. Как указывалось в разделе 3.5.1, в системе Windows поток ввода останавливается нажатием клавиш <Ctrl+Z>, а в системе Unix — <Ctrl+D>.
Большая часть этой программы удивительно проста. Фактически мы получили ее, отбросив часть программы, предназначенной для вычисления средней температуры, и вставив несколько новых инструкций. Единственной новой инструкцией является проверка
Если удалить эту проверку из программы, то вывод изменится.
Мы не любим повторений, поэтому удаляем их с помощью данной проверки. Что она делает? Она выясняет, отличается ли предыдущее слово от вновь веденного (
Обратите внимание на то, что мы можем сравнивать строки. Для этого мы используем операторы
ПОПРОБУЙТЕ
Напишите программу, заглушающую нежелательные слова; иначе говоря, считайте слова из потока
Когда отладите программу, добавьте еще несколько нежелательных слов.
4.7. Свойства языка
Стеллар. Трибут
2. Стеллар
Фантастика:
боевая фантастика
рпг
рейтинг книги
Его огонь горит для меня. Том 2
2. Мир Карастели
Фантастика:
юмористическая фантастика
рейтинг книги
На границе империй. Том 9. Часть 4
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
рейтинг книги
Наследник
1. Рюрикова кровь
Фантастика:
научная фантастика
попаданцы
альтернативная история
рейтинг книги
