Как создать цикл для того чтоб заменять 0 на 1 и 1 на 0?
Сейчас разбираю один алгоритм по частям, закодировала свой текст в 0 и 1. Тепер не могу создать цикл который бы каждый 10 бит в тексте заменял на противоположный.
Например есть: 00000000010000000001 а нужно выводить 00000000000000000000
Какая тема лабораторной? Что надо продемонстрировать в коде? Можно ли использовать BitSet?
Как выглядит Input, Output в примерах?
Если в качестве output - нужен текст после замены - то учтите следующее. Некоторые буквы могут стать непринатбельны (ascii control chars), или некоторые русские буквы в кодировке utf-8 могут получить запрещенные комбинации которые при печати на экран вызовут ошибку декодера utf-8.
mayton2019, Примеров никаких нет, можно использовать все что угодно.
Тема: Алгоритм Шенона Фано, где есть три этапа.
1 - кодировка любого текста в 0 и 1, там у меня свой алфавит
2 - как раз таки нанесение ошибок в полученое сообщение из 0 и 1, где мы каждый 10 бит меняем на противоположный
3- раскодировка испорченного сообщение из 0 и 1 обратно в буквы
Уже сталкивалась с ошибкой декодера так как вы говорите, но если запускать в онлайн компиляторе все хорошо.
Вот этот код нашла на первый этап. Я делаю это максимально криво так как на каждый этап у меня отдельня программка, но это ничего страшного и так защитают, спасибо.
Azanitta, в данной лабораторной я так и не увидел демонстрации работы с битами и байтами. Насколько я понял преподу достаточно показать нолики и единички в виде текста (std::string) и это будет достаточно?
Длину строки раздели на 10 (целочисленное деление). И заводи цикл от 1 до этого числа. И обращайся к элементам строки с домножением на 10. В чем проблема?