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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> zadacha, zadacha 
:(
    Опции темы
danilkramatorsk
Дата 26.2.2013, 20:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 22.12.2012

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



как записать число 1234 наоборот 4321?


Это сообщение отредактировал(а) danilkramatorsk - 27.2.2013, 01:47
PM MAIL   Вверх
feodorv
Дата 27.2.2013, 07:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 12
Всего: 45



А число у Вас в каком виде? Если беззнаковое инт, то можно так:
Код

unsigned int n = 1234;
unsigned int r = 0;
while( n > 0 )
{
  r = (r * 10) + (n % 10);
  n /= 10;
}




--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
baldina
Дата 27.2.2013, 10:27 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



а если знаковое, достаточно поменять условие на
Код

while( n != 0 )

PM MAIL   Вверх
danilkramatorsk
Дата 27.2.2013, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 22.12.2012

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



feodorv, 
baldina, ага, понял, спасибо!
PM MAIL   Вверх
fish9370
Дата 27.2.2013, 19:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



позвольте мне свою версию с учетом базы..

Код

/*! \brief recive number and base
 * \return Returns count of digits in this number
 */
int diglen(const int number, const int base)
{
        int x = number;
        int res = 1;
        while(x /= base)
                res++;

        return res;
}


/*! \brief recive the number
 * \return Returns reversed value
 */

int reverse(const int number, const int base)
{
        int x = number;
        int res = 0;
        int n = (int)pow(base, diglen(x, base) - 1);
        do {
                res += (x % base) * n;
                n /= base;
        } while (x /= base);

        return res;
}





--------------------
undefined
PM MAIL WWW ICQ   Вверх
NoviceF
Дата 27.2.2013, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

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



Код

string str("1234");
copy ( str.rbegin(), str.rend(), ostream_iterator<char>(cout) );

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


Шустрый
*


Профиль
Группа: Участник
Сообщений: 114
Регистрация: 22.12.2012

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



fish9370, спасибо, но а зачем так усложнять?
PM MAIL   Вверх
volatile
Дата 27.2.2013, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

Репутация: 16
Всего: 85



Цитата(fish9370 @  27.2.2013,  19:02 Найти цитируемый пост)
позвольте мне свою версию с учетом базы..

если в формуле feodorv, заменить все вхождения "10" на 'base' , будет версия с учетом базы в 2 строчки.

PM MAIL   Вверх
fish9370
Дата 27.2.2013, 19:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(danilkramatorsk @  27.2.2013,  19:23 Найти цитируемый пост)
fish9370, спасибо, но а зачем так усложнять?


чтобы переворачивать можно было в любом формате, не только в десятичном


Цитата(volatile @  27.2.2013,  19:28 Найти цитируемый пост)
если в формуле feodorv, заменить все вхождения "10" на 'base' , будет версия с учетом базы в 2 строчки.


строчек будет как минимум пять.. а функция вычисления количества цифр, так же может быть полезна..
насчет моего алгоритма, может быть он не оптимальный, если функция feodorv действительно сработает с базой..

Это сообщение отредактировал(а) fish9370 - 27.2.2013, 19:38


--------------------
undefined
PM MAIL WWW ICQ   Вверх
baldina
Дата 27.2.2013, 19:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



проверь. у feodorv схема Горнера, тут трудно придумать оптимальнее

Это сообщение отредактировал(а) baldina - 27.2.2013, 19:44
PM MAIL   Вверх
fish9370
Дата 27.2.2013, 19:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(baldina @  27.2.2013,  19:43 Найти цитируемый пост)
проверь. у feodorv схема Горнера, тут трудно придумать оптимальнее


ну что ж, придется поверить, разбираться все-равно нет времени..


--------------------
undefined
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


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

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


 




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


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

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