Снежная королева задала каю новое . он должен каждый день выкладывать перед входом в замок прямую дорожку из белых и голубых льдинок. дорожка всегда должна иметь одну и ту же длину 10, и рисунок в каждый следующий день должен отличаться от рисунков в предыдущие дни. кроме того, королеве не нравится, когда подряд идут две белые льдинки. в тот день, когда кай не сможет больше выложить ни одной новой дорожки, он будет свободен и сможет отправиться домой. сколько дней ему предстоит трудиться? комментарий. если бы дорожка имела длину 2, то кай трудился бы всего три дня.
Итак, целевой язык - C++. Это значит мы - радостные обладатели технологии потоков, с коей мы будем производить весь ввод/вывод как при работе с файлами, так и при работе со стандартным вводом/выводом (консолью).
Ну а раз уж мы работаем с потоками, то будем делать это красивенько: создадим класс-обёртку для потока ввода, цель которого - поиск в этом потоке цитат и отправка их на поток вывода (который мы передаём).
[!] Стоит отметить, что по заданию не сказано, что есть разница между ' и ". Поэтому будем считать их одинаковыми.
[!] Внимание! Рядом с исполняемым файлом надо создать текстовый файл data.txt c текстом и цитатами.
КодС++11
#include <iostream>#include <fstream>using std::cout;class QuotesFinder { std::istream &in_stream; bool is_it_in_quote = false;public: QuotesFinder() = delete; QuotesFinder(QuotesFinder&&) = default; QuotesFinder(QuotesFinder const&) = default; explicit QuotesFinder(std::istream &is) : in_stream(is) {} [[nodiscard]] bool eof() const { return in_stream.eof(); } // Вот тут происходит вся магия QuotesFinder& operator >> (std::ostream& out_stream) { char buffer; in_stream.get(buffer); //Получаем очередной символ из потока if (buffer == '\"' || buffer == '\'') { if (is_it_in_quote) { is_it_in_quote = false; out_stream << buffer; out_stream << "\n"; return *this; } is_it_in_quote = true; } if (is_it_in_quote) { out_stream << buffer; } return *this; }};int main() { std::ifstream file("data.txt"); // Открываем файл if (!file.is_open()) { cout << "File is not exits!"; return 1; } QuotesFinder finder(file); // Создаём обёртку из файлового потока while (!finder.eof()) // Пока не достигли конца потока finder >> cout; // переправляем очередной кусок информации в поток вывода}У человека есть 5 органов чувств
глаза (зрение),
уши (слух),
язык (вкус),
нос (обоняние)
кожа (осязание, ощущение боли, температуры)
горячий хлеб влияет на глаза, язык, обоняние, кожу. если его нюхать, то будет запах, если смотреть на него, то его пар может попасть в глаза, ну и остальное ясно
во время сна наши глаза закрыты и мы ничего не видим, уши продолжают слышать, потому что от громкого звука и т.п. человек может проснуться, язык и нос также реагируют на различные вещи, кожа безусловно, тоже чувствует прикосновения
замороженная роза воздействует на кожу, если держать ее, то кожа станет холоднее, если облизать языком, то будет также холодно, на уши никак не влияет, глазами мы видим, запах по сути не передает
река мокрая, может воздействовать на глаза, кожу, язык, потому что влажно. уши (если нырнуть в реку, то слышать будем приглушенно), ну река бывает пахнет, но это не всегда.