0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
1

Реверсирование

22.01.2011, 21:24. Показов 3420. Ответов 32
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста!

Задача
Реверсировать число и увеличить его в 2 раза.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.01.2011, 21:24
Ответы с готовыми решениями:

Реверсирование строк
Всем добрый вечер! Как всегда, практикуюсь по книжным примерам. Вот дошёл до темы реверсирования...

Реверсирование строк
Нужно отсортировать строки по алфавиту и вывести в файл реверсированные строки. #include...

Объединение и реверсирование
Всем привет! Помогите пожалуйста с программой. Необходимо написать реверсирование строки, используя...

Реверсирование строки
может ошибки где есть? .data stroka db 'stroka',0 len equ $-stroka stdout DWORD ? cWritten...

32
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 22:09 21
Author24 — интернет-сервис помощи студентам
panicwassano, я на первой странице дал суперподробное описание.
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
22.01.2011, 22:15 22
C++
1
2
3
4
5
6
7
8
9
10
11
#include <algorithm>
#include <string>
#include <boost/lexical_cast.hpp>
 
int ReverseAndDouble(int n) {
  std::string s = boost::lexical_cast<std::string>(n);
 
  std::reverse(s.begin(), s.end());
 
  return 2 * boost::lexical_cast<int>(s);
}
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 22:16 23
там не особо понятно написано. я вижу это так берем число 543 и ищем остаток от деления на 10, будет 3 как это 3 нужно умножить на 100 не зная число разрядов???
0
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 22:19 24
CyBOSSeR, та же фигня. Громоздко и неповоротливо, да ещё и с подключением сторонней библиотеки.

panicwassano, работа происходит по принципу стека. Из одного числа достаётся, в другое кладётся.
0
Эксперт С++
2347 / 1720 / 148
Регистрация: 06.03.2009
Сообщений: 3,675
22.01.2011, 22:26 25
Цитата Сообщение от volovzi Посмотреть сообщение
Громоздко и неповоротливо
Код чист, понятен, и не содержит велосипедов. В чем громоздкость и неповоротливость?
Цитата Сообщение от volovzi Посмотреть сообщение
да ещё и с подключением сторонней библиотеки
На код которой можно без проблем положиться.
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 22:27 26
volovzi с 1ой переменной что-то совсем никак
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int reversNumber(int Number)
{
    int count = 0;
    int sum = Number;
    while (Number)
    {
        Number /= 10;
        count++;
    }
 
    while (sum)
    {
        Number += (sum % 10)*pow(static_cast<double>(10), --count);
        sum /= 10;
    }
 
    return 2*Number;
}
0
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
22.01.2011, 22:29  [ТС] 27
ВСЕМ БОЛЬШОЕ СПАСИБО!!!
ТАМ ВСЕ ДЕЙСТВИТЕЛЬНО НАМНОГО ПРОЩЕ...
ВОТ:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# include <iostream> 
using namespace std;
int main()
{
    /*Дано довільне ціле число n. Написати програму, яка розбиває число n на цифри і виводить 
    їх на екран; підраховує скільки цифр в числі n; знаходить суму цифр числа n; змінює 
    порядок цифр числа n на зворотній. Збільшити отримане реверсне число у 2 рази.*/
    int n=0, n1=0, n2=0, a=0, b=0, kilkist=0, summ=0, reversne=0;
    cout<<"Enter int n="; 
    cin>>n; 
    n1=n;
    for (int i=0; n!=0; i++)
    {
        a=n%10; //визначає останню цифру числа n
        b=n/10; //відкидає останню цифру числа n
        n=b;
        reversne=reversne*10+a;
        summ+=a; //підраховує сумму цифр в числі n
        kilkist+=1; //підраховує к-ть цифр в числі n
        cout<<a<<"; ";//виводить цифри з яких складається число n
    }
    cout<<"\n";
    cout<<"kilkist="<<kilkist<<endl;
    cout<<"summ="<<summ<<endl;
    cout<<"Reversne="<<reversne<<endl;
    cout<<"Reversne*2="<<reversne*2<<endl;
    cout<<endl;
    return 0;
}
0
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 22:33 28
CyBOSSeR, перевод числа в строку и наоборот, а так же std::reverse — довольно затратные операции. Можно сделать не менее чисто и понятно, но без лишних операций.

Добавлено через 1 минуту
Наська_91, молодец .

panicwassano, если почистить Наськин код, то как раз можно обойтись одной переменной.
1
0 / 0 / 0
Регистрация: 15.01.2011
Сообщений: 12
22.01.2011, 22:33  [ТС] 29
volovzi, спасибо
0
601 / 569 / 104
Регистрация: 07.11.2010
Сообщений: 2,004
22.01.2011, 22:38 30

C++
1
2
3
4
5
6
7
8
9
10
11
int reversNumber(int Number)
{
    int newNumber = 0;
    while (Number)
    {
        newNumber = newNumber*10 + (Number % 10);
        Number /= 10;
    }
 
    return 2*newNumber;
}
0
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 22:53 31
panicwassano, оно!
А у меня было так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
 
int reverse (int number) {
    int x = 0;
    
    while (number > 0) {
        x *= 10;
        x += number % 10;
        number /= 10;
    }
    
    return x;
}
 
int main () {
    int x;
    std::cin >> x;
    
    std::cout << 2 * reverse(x) << std::endl;
 
    return 0;
}
0
2022 / 1621 / 489
Регистрация: 31.05.2009
Сообщений: 3,005
22.01.2011, 22:57 32
Только недавно была подобная тема
необходимо перевернуть его (число) и вывести на экран.
0
274 / 175 / 12
Регистрация: 14.03.2010
Сообщений: 501
22.01.2011, 23:03 33
rangerx, у нас здесь интересней было.
0
22.01.2011, 23:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.01.2011, 23:03
Помогаю со студенческими работами здесь

реверсирование строки
Помогите написать программу реверсирования строки, т.е. замены прядка следования символов в строке...

Проверка и реверсирование списка
Проверяем подсписок на элементы с d по k, если таковые имеются, то выводим реверсированный список,...

Реверсирование части подсписков
Здравствуйте! Поставлена следующая задача: реверсировать только подсписки, четных степеней...

Задача на реверсирование чисел
В общем задача на реверсирование чисел у меня получилось только с положительными числами вот...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
33
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru