Korinchan390
?>

Написать программу на С++. Задача - Считать текст из файла и вывести на экран только цитаты, т. е. предложения, заключенные в кавычки.

Информатика

Ответы

alfakurs

Итак, целевой язык - 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; // переправляем очередной кусок информации в поток вывода}
Написать программу на С++. Задача - Считать текст из файла и вывести на экран только цитаты, т. е. п
akopovarch
1.Пиксель – это элемент изображения. В любую фотографию, будь-то цифровой файл или отпечаток, входит некоторое количество пикселей, которые формируют объекты, изображенные на снимке
Растр (оптика) — решётка для структурного преобразования направленного пучка лучей света. В прозрачных растрах чередуются прозрачные и непрозрачные элементы, отражательные растры состоят из зеркально отражающих и поглощающих (или рассеивающих) элементов.
2.От видеокарты приходят сигналы цвета R, G, B и импульсы синхронизации. Всё это обрабатывается и подаётся на кинескоп. От видеокарты приходят сигналы цвета R, G, B и импульсы синхронизации. Всё это обрабатывается и подаётся на кинескоп.
Наталья286
Компьютер быстро вошел в нашу жизнь. Еще несколько лет назад было редкостью увидеть какой-нибудь персональный компьютер – они были, но были очень дорогие, и даже не каждая фирма могла иметь у себя в офисе компьютер. А теперь? Теперь в каждом третьем доме есть компьютер, который уже глубоко вошел в жизнь человека. Современные вычислительные машины представляют одно из самых значительных достижений человеческой мысли, влияние которого на развитие научно-технического прогресса трудно переоценить. Для многих людей сейчас компьютер уже не роскошь, а необходимый предмет домашней или рабочей обстановки.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Написать программу на С++. Задача - Считать текст из файла и вывести на экран только цитаты, т. е. предложения, заключенные в кавычки.
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

АнатольевичМиронова885
superniki87
Igor1406
yrgenson2011801
Мелконян1137
elena-ppk
r682dm2011
Ольга1520
Дубровская571
Дарья16
k-alexey9
aivanova
Газинурович
lovely138887
fta1309