Написать прогу в с++. дана строка, состоящая из групп нулей и единиц. подсчитать количество единиц в группах с нечетным количеством символов.
Ответы на вопрос:
допустим, что эти группы разделены пробелами.(а если нет, то просто замени второй аргумент в функции strtok с " " на "0")
#include < iostream> using std: : cout; using std: : cin; using std: : endl; #include < cstring> using std: : strtok; using std: : strlen; int main(){ int counter = 0; char s[] = "00000 1111111 000 1111 111111 00000000 11111"; char *sptr; cout < < s < < endl; sptr = strtok(s, " "); while(sptr ! = null) { if(strlen(sptr) % 2 ! = 0 & & *sptr == '1') { counter += strlen(sptr); } sptr = strtok(null, " "); } cout < < counter < < endl; cin.get(); return 0; }
ответ:
объяснение:
8 бит = 1 байт. длина текста 79 символов, т.е. он занимает 79 байт.
кроме слова в любом варианте будет вычеркнуто два символа - запятая и пробел. следовательно, если длина вычеркнутого слова l, то длина текста в исходной кодировке составит 79 -2 - l = 77- l байт, а в unicode соотвественно 154 - 2l байт.
теперь можно составить уравнение
154 - 2l - 79 = 62
2l = 154 - 79 - 62
l = 6.5 - а этого быть не может.
проверим. пусть l = 6, т.е. вычеркнуто фраппе.
тогда длина текста станет 79 - 6 = 73 символа. после перевода в unicode 146 символов. после вычеркивания запятой и пробела - 146 - 4 = 142 символа.
142 - 79 = 63, но не 62.
если l = 7, т.е. вычеркнуто макиато, то длина текста 79 - 7 = 72 символа, в unicode 144 символа, после вычеркивания 140 символов, а разница 140 - 79 = 61 символ, но не 62.
следовательно, где-то в условии допущена ошибка.
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
Сателла116.05.2023 05:13
-
Ametov200711.11.2020 15:15
-
slepovairina928.07.2022 05:06
-
alekss8430.08.2021 04:20
-
Milalenka114.05.2022 03:11
-
lolkek302311.11.2022 20:35
-
polavskaya28.02.2023 20:52
-
danilp706.11.2021 16:48
-
nastamalysheva20.01.2023 02:02
-
alisha15sherban27.01.2023 19:34
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.