Ассемблер.Применение логических инструкций(and/or/xor/not/test) Дан массив из 6 байт. Посчитать количество байт, число единиц в которых не превышает 3.
18 кб=18432 байт Вам следует уточнить о какой кодировке идёт речь. Если Unicode, UTF-16 или ISO 10646: 1 символ=2 байта 18432/2=9216 символа Если ASCII, UTF-8 или CP1251: 1 символ=1 байт 18432 символа Безумный вариант для фриков, которые считают что 1 кб=1000 байт 18 кб=18000 байт (аж самого воротит) Для Unicode и так далее: 9000 символов. Для ASCII и так далее: 18000 символов. Если даже это не просто попробуйте скопировать ответ, а не перепечатывать его. Это странно.
О второй задаче: Занято: Фильм=1,12 ГБ=1145,8(с округлением) мб Фото=1105,9 мб(тоже с округлением) Отчёт=15,5 мб Всего занято=2267,2 мб Объём=16384 мб Процент занятого: 13.8 Процент свободного: 86,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; // переправляем очередной кусок информации в поток вывода}
Вам следует уточнить о какой кодировке идёт речь.
Если Unicode, UTF-16 или ISO 10646:
1 символ=2 байта
18432/2=9216 символа
Если ASCII, UTF-8 или CP1251:
1 символ=1 байт
18432 символа
Безумный вариант для фриков, которые считают что 1 кб=1000 байт
18 кб=18000 байт (аж самого воротит)
Для Unicode и так далее:
9000 символов.
Для ASCII и так далее:
18000 символов.
Если даже это не просто попробуйте скопировать ответ, а не перепечатывать его.
Это странно.
О второй задаче:
Занято:
Фильм=1,12 ГБ=1145,8(с округлением) мб
Фото=1105,9 мб(тоже с округлением)
Отчёт=15,5 мб
Всего занято=2267,2 мб
Объём=16384 мб
Процент занятого: 13.8
Процент свободного: 86,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; // переправляем очередной кусок информации в поток вывода}