C++. Осущест. цик. сдвиг n-раз-ого зад. числа k на m поз. вправо в об-оной парадигме

Ответить
xsix
Сообщения: 22
Зарегистрирован: 07 ноя 2008, 20:46
Контактная информация:

Всем добрый вечер! У меня вот такая задачка: "Осуществить циклический сдвиг n-разрядного заданного числа k на m позиций вправо в объектно-ориентированной среде (парадигме)". Помогите пожалуйста реализовать данную задачу.
xsix
Сообщения: 22
Зарегистрирован: 07 ноя 2008, 20:46
Контактная информация:

Народ, что, никаких вариантов..... Нужна помощь!!!! Помогите!
xsix
Сообщения: 22
Зарегистрирован: 07 ноя 2008, 20:46
Контактная информация:

Народ, помогите пожалуйста.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Где-то примерно получится k/(2^m)+2^(N-m)*k%(2^m)
Как будете реализовывать возведение в степень - не знаю.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
StarWorm
Сообщения: 25
Зарегистрирован: 18 ноя 2008, 10:28

Что значит в объектно ориентированной парадигме???
Можно использовать приведение числа в строку???
xsix
Сообщения: 22
Зарегистрирован: 07 ноя 2008, 20:46
Контактная информация:

Это значит, что задача разбивается на классы, объекты. Т.е. не используешь императивный способ, типа тупо объявил переменные, подставил их в формулу и дело концом. Тут совсем другой способ. Народ, пожалуйста, если кто знает, как решать данную задачу, отпишитесь плиз... :)
Аватара пользователя
Naeel Maqsudov
Сообщения: 2570
Зарегистрирован: 20 фев 2004, 19:17
Откуда: Moscow, Russia
Контактная информация:

Целое число - это настолько атомарная вешь, что тут трудно выделить какие-либо классы. Тем более, что операция сдвига - это уровень микропроцессора. Сравните, например, операцию сдвига числа с операцией.... эээ.... скажем предоставления прав пользователю.

Единственное что можно тут высосать из пальца - это:

Описать класс CShifter со свойством K и медом Shift.
Запросить у пользователя K и M
Создать экземпляр класса.
Выполнить сдвиг с помошью метода Shift
Вывести результат

Вот такая более конкретная формулировка отражает суть задачи?
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

Кстати, опять наблюдаем задание "Забейте 300 гвоздей одним микроскопом"
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить