C++. Осущест. цик. сдвиг n-раз-ого зад. числа k на m поз. вправо в об-оной парадигме
Всем добрый вечер! У меня вот такая задачка: "Осуществить циклический сдвиг n-разрядного заданного числа k на m позиций вправо в объектно-ориентированной среде (парадигме)". Помогите пожалуйста реализовать данную задачу.
Народ, что, никаких вариантов..... Нужна помощь!!!! Помогите!
Народ, помогите пожалуйста.
Где-то примерно получится k/(2^m)+2^(N-m)*k%(2^m)
Как будете реализовывать возведение в степень - не знаю.
Как будете реализовывать возведение в степень - не знаю.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Что значит в объектно ориентированной парадигме???
Можно использовать приведение числа в строку???
Можно использовать приведение числа в строку???
Это значит, что задача разбивается на классы, объекты. Т.е. не используешь императивный способ, типа тупо объявил переменные, подставил их в формулу и дело концом. Тут совсем другой способ. Народ, пожалуйста, если кто знает, как решать данную задачу, отпишитесь плиз... 

- Naeel Maqsudov
- Сообщения: 2570
- Зарегистрирован: 20 фев 2004, 19:17
- Откуда: Moscow, Russia
- Контактная информация:
Целое число - это настолько атомарная вешь, что тут трудно выделить какие-либо классы. Тем более, что операция сдвига - это уровень микропроцессора. Сравните, например, операцию сдвига числа с операцией.... эээ.... скажем предоставления прав пользователю.
Единственное что можно тут высосать из пальца - это:
Описать класс CShifter со свойством K и медом Shift.
Запросить у пользователя K и M
Создать экземпляр класса.
Выполнить сдвиг с помошью метода Shift
Вывести результат
Вот такая более конкретная формулировка отражает суть задачи?
Единственное что можно тут высосать из пальца - это:
Описать класс CShifter со свойством K и медом Shift.
Запросить у пользователя K и M
Создать экземпляр класса.
Выполнить сдвиг с помошью метода Shift
Вывести результат
Вот такая более конкретная формулировка отражает суть задачи?
Кстати, опять наблюдаем задание "Забейте 300 гвоздей одним микроскопом"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.