М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
anasteishamrrr
anasteishamrrr
24.04.2023 19:12 •  Информатика

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

👇
Ответ:
matveq888
matveq888
24.04.2023

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