Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 34, средняя оценка - 4.79
HelloWorld56
5 / 5 / 1
Регистрация: 29.03.2012
Сообщений: 62
#1

Перевернуть число - C++

03.05.2012, 18:13. Просмотров 4529. Ответов 3
Метки нет (Все метки)

Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.

Примечание: Например, пользователь ввел число 12345. На экране должно появиться число наоборот - 54321.


C++ (Qt)
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
30
#include <iostream>
using namespace std;
 
int main ()
{
    setlocale (LC_CTYPE, "Russian");
 
    int number ; 
    int k;
    int temp ;
 
    cout<<"Введите число: ";
    cin>>number;
    temp = number; //Т.к. полсе цикла number будет равна 0, то нужно сохранить её значение в отдельной переменной
    k = 0;
    while (number != 0 ) // Сколько всего цифр в числе
    {
        number = number /10;
        k++;
    }
    number = temp;
    
    for (int i = k; number != 0; i--) 
    {
        cout<<i<<" цифра = "<<number % 10<<"\n";
        number = number / 10;
    }
    
    
}
Как в последнем цикле записать каждую новую цифру в отдельную переменную, чтобы потом можно было перевернуть число.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.05.2012, 18:13     Перевернуть число
Посмотрите здесь:

C++ Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран.
Перевернуть шестнадцатеричное число oxА28Е C++
Перевернуть число C++
Перевернуть число (циклы) C++
C++ перевернуть двоичное число
C++ Перевернуть число
C++ Перевернуть число
Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран C++
C++ Перевернуть число (перевернутое число выводится на экран)
Перевернуть число C++
C++ Перевернуть четырехзначное число
C++ Перевернуть введенное пользователем число

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
7062 / 5239 / 261
Регистрация: 10.12.2010
Сообщений: 23,042
Записей в блоге: 17
03.05.2012, 19:19     Перевернуть число #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <string>
#include <iostream>
#include <algorithm>
#include <iterator>
using namespace std;
//---------------------------------------------------------------------------
int main()
{
string str1,str2;
cin>>str1;
    reverse_copy(str1.begin(),str1.end(),back_inserter(str2));
cout<<str2<<endl;
 
system("pause");
return 0;
}
//---------------------------------------------------------------------------
А вообще если охота мучатся с типом int, то получить отдельное число можно делением на 10^n, где n определяет позицию числа
igorrr37
1634 / 1262 / 128
Регистрация: 21.12.2010
Сообщений: 1,924
Записей в блоге: 7
03.05.2012, 19:29     Перевернуть число #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <sstream>
#include <algorithm>
 
int main()
{
    std::size_t num;
    std::cin >> num;
    std::stringstream ss;
    ss << num;
    std::string s(ss.str());
    std::reverse(s.begin(), s.end());
    ss.str(s);
    ss >> num;
    std::cout << num << std::endl;
    return 0;
}
Toshkarik
1139 / 856 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
03.05.2012, 19:32     Перевернуть число #4
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
 
long int reverse( long int number ) {
    long int revNum = 0;
    
    while ( number ) {
       revNum = revNum * 10 + number % 10;
       number /= 10;
    }
    
    return revNum;
}
 
int main() {
   std::cout << reverse( 123 ) << std::endl;
 
   return 0;
}
Вывод.
Думаю, что от Вас хотят что вроде этого.
Yandex
Объявления
03.05.2012, 19:32     Перевернуть число
Ответ Создать тему
Опции темы

Текущее время: 22:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru