4. Заполните таблицу «Архивация файлов» в текстовом про- цессоре Word, определите, во сколько раз уменьшился размер
файла.
5. Убедитесь, что размер файла после создания архива почти
равен исходному файлу.
Таблица 1.6
Имя
файла
Тип файла Истинный размер
файла
Размер файла
после создания
архива
Во сколько раз
уменьшился
размер файла
Все зависит от того, что Вы хотите делать. Язык программирования - это не самоцель, а всего лишь средство для того, чтобы выполнить какую-то работу. Например, если Вы хотите заняться веб-дизайном, то Вам неплохо бы помимо python знать java, php и html, а также не помешает знание SQL, если Вы будете составлять запросы к базам данных.Если же Вы хотите программировать чипы на низком уровне, то вам нужно изучение программирования в машинных кодах и assembler, для научного программирования пригодятся, например, Matlab, fortran, c,c++,c#. В общем, для каждой области деятельности есть свой набор инструментов и что именно изучать зависит от того, для чего Вы хотите свои навыки применять.
Итак, целевой язык - 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; // переправляем очередной кусок информации в поток вывода}