Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Перестановка цифр двухзначного числа 
:(
    Опции темы
cardinal
Дата 28.11.2007, 23:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(Dello @  28.11.2007,  21:21 Найти цитируемый пост)
В десятичной. Строки нельзя использовать. 

Я если честно так и не понял, где я использовал строки или 
Цитата(Dello @  28.11.2007,  21:12 Найти цитируемый пост)
используя свойства позиционной системы счисления.

Какие свойства? И что они в коде MAKCim'а не используются? 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
MAKCim
Дата 28.11.2007, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(cardinal @  28.11.2007,  23:20 Найти цитируемый пост)
Я если честно так и не понял, где я использовал строки или 

делишь на 10, чтобы получить десятичный разряд
Цитата(cardinal @  28.11.2007,  23:20 Найти цитируемый пост)
И что они в коде MAKCim'а не используются?  

да вроде как нет


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
cardinal
Дата 28.11.2007, 23:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(MAKCim @  28.11.2007,  22:24 Найти цитируемый пост)
делишь на 10, чтобы получить десятичный разряд

Так а где здесь "строки", они же char* они же string?
Цитата(MAKCim @  28.11.2007,  22:24 Найти цитируемый пост)
да вроде как нет 

Так на дело смотреть, так и у тебя цифра 10 присутствует.

Или просто задание звучит так: сделать!, но не просто, а через жопу? smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
MAKCim
Дата 28.11.2007, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(cardinal @  28.11.2007,  23:49 Найти цитируемый пост)
Так а где здесь "строки", они же char* они же string?

строки не причем
ты используешь свойство позиционной СС
Цитата(cardinal @  28.11.2007,  23:49 Найти цитируемый пост)
Так на дело смотреть, так и у тебя цифра 10 присутствует.

10 - это смещение в массиве
т. к двузначных чисел всего 90
первое двузначное число - 10, а индекс в массиве начинается с 0
т. е 10 здесь используется совсем не в контексте позиционной СС


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
cardinal
Дата 29.11.2007, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Почитал тут
http://works.tarefer.ru/69/100903/index.html
помоему понял что хотят, а именно "перевернуть двухзначное число, рассматривая его как строку, но не пользуясь строками" smile 

Помоему забить все это в массив как-то неэлегантно...

Но что-то придумать как добиться этого результата при помощи побитных операций не использую свойств позиционной СС не могу. smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Dims
Дата 29.11.2007, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1016
Регистрация: 21.11.2006

Репутация: 1
Всего: 11



В задании ведь не сказано, что число десятичное smile
Так что, можно положить, что оно 16-ричное.
Поэтому, надо просто отсечь маской старший байт и сдвинуть младший влево на 4 бита, а затем побитово сложить со сдвинутым вправо на 4 бита исходным числом.
PM MAIL   Вверх
cardinal
Дата 29.11.2007, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



В задании не сказано, а автором сказано
Цитата(bsa @  28.11.2007,  21:18 Найти цитируемый пост)
Dello, как вводятся данные? В какой системе счисления?

Цитата(Dello @  28.11.2007,  21:21 Найти цитируемый пост)
bsa В десятичной.

А в десятичной все нет так просто. Достаточно посмотреть на числа 8 и 9 smile 


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
bsa
Дата 29.11.2007, 15:23 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



с другой стороны, кто мешает интерпретировать 10-ичное, как 16-ричное?
PM   Вверх
JackYF
Дата 29.11.2007, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(bsa @  29.11.2007,  15:23 Найти цитируемый пост)
с другой стороны, кто мешает интерпретировать 10-ичное, как 16-ричное?

никто... результат будет неправильный.


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
bsa
Дата 29.11.2007, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



"15" - это сколько?
можно представить, что это 0x15? затем методом сдвигов и логических OR и AND объединяем и получаем 0x51, выводим, получаем "51" - то что хотели?  smile 
PM   Вверх
cardinal
Дата 29.11.2007, 21:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 2
Всего: 99



Цитата(bsa @  29.11.2007,  17:17 Найти цитируемый пост)
то что хотели? 

Нет, т.к. строками пользоваться нельзя... smile


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
bsa
Дата 29.11.2007, 21:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 63
Всего: 196



cardinal, а вводить тогда как?!? программа читает из бинарного файла число?
PM   Вверх
MAKCim
Дата 29.11.2007, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 52
Всего: 207



Цитата(bsa @  29.11.2007,  18:17 Найти цитируемый пост)
можно представить, что это 0x15? затем методом сдвигов и логических OR и AND объединяем и получаем 0x51, выводим, получаем "51" - то что хотели? 

я полагаю, число представляется каким-то числовым типом (int, short, long)
поэтому этот метод не прокатит
Цитата(bsa @  29.11.2007,  21:35 Найти цитируемый пост)
а вводить тогда как?!? программа читает из бинарного файла число? 

Код

int convert(int number) {
...
}

int main() {
    int number;
    scanf("%d", &number);
    printf("%d\n", convert(number));
    return 0;
}



--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
JackYF
Дата 29.11.2007, 23:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


полуавантюрист
****


Профиль
Группа: Участник
Сообщений: 5814
Регистрация: 28.8.2004
Где: страна тысячи озё р

Репутация: 18
Всего: 162



Цитата(MAKCim @  29.11.2007,  22:35 Найти цитируемый пост)
scanf("%d", &number);

ага, scanf тоже пользуется тем, что система счисления десятичная smile


--------------------
Пожаловаться на меня как модератора можно здесь.
PM MAIL Jabber   Вверх
SergeCpp
Дата 30.11.2007, 12:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


 
**


Профиль
Группа: Участник
Сообщений: 955
Регистрация: 8.8.2005
Где: At Home

Репутация: 15
Всего: 124



Код
int reverse( int i )
{
    if( i < 90 || i > 99 )
    {
        return 0;
    }

    int i0( i >> 0 & 1 );
    int i1( i >> 1 & 1 );
    int i2( i >> 2 & 1 );
    int i3( i >> 3 & 1 );
    int i4( i >> 4 & 1 );
    int i5( i >> 5 & 1 );
    int i6( i >> 6 & 1 );
    int i7( i >> 7 & 1 );

    int v0( i0 ^ 1 );
    int v1( i1 ^ 1 );
    int v2( i2 ^ 1 );
    int v3( i3 ^ 1 );
    int v4( i4 ^ 1 );
    int v5( i5 ^ 1 );
    int v6( i6 ^ 1 );
    int v7( i7 ^ 1 );

    int r0( 1  );
    int r1( i0 );
    int r2( v1 );
    int r3( i0 ^ i1 ^ i2 );
    int r4( ( v5 & i4 & i3 & v2 & i1 & i0 ) |
            ( v5 & i4 & i3 & i2 & v1 & v0 ) |
            ( v5 & i4 & i3 & i2 & i1 & v0 ) |
            ( v5 & i4 & i3 & i2 & i1 & i0 ) |
            ( i5 & v4 & v3 & v2 & i1 & v0 ) );
    int r5( ( v5 & i4 & i3 & i2 & v1 & i0 ) |
            ( v5 & i4 & i3 & i2 & i1 & v0 ) |
            ( v5 & i4 & i3 & i2 & i1 & i0 ) |
            ( i5 & v4 & v3 & v2 & i1 & i0 ) );
    int r6( i5 );
    int r7( 0  );

    return r7 << 7 | r6 << 6 | r5 << 5 | r4 << 4 | r3 << 3 | r2 << 2 | r1 << 1 | r0 << 0;
}

Расширение диапазона предлагается как упражнение для господ интересующихся user posted image

PM MAIL WWW ICQ   Вверх
Страницы: (3) Все 1 [2] 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0923 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.