История изменений
Исправление seiken, (текущая версия) :
Я бы такое решение не принял, предложил бы переделать или принял бы с оценкой 3. Смысл лабы явно в том, чтобы человек разобрался с логическими побитовыми операциями, сдвигами, а не нагуглил стандартный класс C++.
ТС. Если тебе надо готовое решение, тебе надо идти в раздел Job этого форума (тем более, что ты готов заплатить). Если же хочешь сам разобраться, план действий в общих чертах такой:
- Разобраться, что такое «unsigned char», и в каком диапазоне значения он может хранить. Подсказка: в один байт значение 256 не влезет; В результате корректируешь условие задачи и продолжаешь дальше;
- Разобраться, что такое побитовые логические операции; Подсказка: тебе нужна побитовая «И»;
- Разобраться, что такое побитовый сдвиг; Подсказка: тебе нужен сдвиг влево, и сдвигать нужно единицу;
- Разобраться, как работает цикл for. Подсказка: надо проверить каждый разряд данного числа => нужен цикл;
- Выяснить, что можно использовать результат логической повитовой операции в условии внутри if;
- В цикле считать таки ответ, инкрементируя заранее об’явленный счетчик.
- Добавляешь вывод результата, но используешь не printf, а std::cout . И код превращается… превращается в C++;
- Тестируешь код на вшивость на паре-тройке значений;
- С чистой совестью идешь сдаваться преподу.
Список литературы:
- Классика: https://ee.kpi.ua/~prat/edu/books/programming/c/1_K_R.pdf там должны быть ответы на все вопросы.
- примерчики, которые можно нагуглить.
Исходная версия seiken, :
Я бы такое решение не принял, предложил бы переделать или принял бы с оценкой 3. Смысл лабы явно в том, чтобы человек разобрался с логическими побитовыми операциями, сдвигами, а не нагуглил стандартный класс C++.
ТС. Если тебе надо готовое решение, тебе надо идти в раздел Job этого форума (тем более, что ты готов заплатить). Если же хочешь сам разобраться, план действий в общих чертах такой:
- Разобраться, что такое «unsigned char», и в каком диапазоне значения он может хранить. Подсказка: в один байт значение 256 не влезит; В результате корректируешь условие задачи и продолжаешь дальше;
- Разобраться, что такое побитовые логические операции; Подсказка: тебе нужна побитовая «И»;
- Разобраться, что такое побитовый сдвиг; Подсказка: тебе нужен сдвиг влево, и сдвигать нужно единицу;
- Разобраться, как работает цикл for. Подсказка: надо проверить каждый разряд данного числа => нужен цикл;
- Выяснить, что можно использовать результат логической повитовой операции в условии внутри if;
- В цикле считать таки ответ, инкрементируя заранее об’явленный счетчик.
- Добавляешь вывод результата, но используешь не printf, а std::cout . И код превращается… превращается в C++;
- Тестируешь код на вшивость на паре-тройке значений;
- С чистой совестью идешь сдаваться преподу.
Список литературы:
- Классика: https://ee.kpi.ua/~prat/edu/books/programming/c/1_K_R.pdf там должны быть ответы на все вопросы.
- примерчики, которые можно нагуглить.