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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.78
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
#1

Число задом наперед - C++

23.05.2014, 00:53. Просмотров 1608. Ответов 11
Метки нет (Все метки)

Помогите пожалуйста!!!!
Задача. Перевернуть число, введенное с клавиатуры, задом на перед. Например, введено 12345, должны вывести 54321
C++
1
2
3
4
5
6
7
# include <iostream>
using namespace std;
void main ()
{
int n(0);
cout<<"Enter number: ";
cin>>n;
?????????
Подключать библиотеки другие нельзя!!!!!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.05.2014, 00:53     Число задом наперед
Посмотрите здесь:

Написать строку задом наперед - C++
помогите пожалуйста отладить, задача написать строку задом наперед. Работает не правильно, что я не так сделал? Вот мой код: void...

Вывести строку задом наперед - C++
1)Пользователь вводит строку данных программа выводит из нее только цифры. 2)Вывести строку задам на перед. #include &lt;iostream&gt; ...

Вывести строку задом наперед - C++
#include &lt;iostream&gt; using namespace std; int main() { int len; char temp; cin&gt;&gt;len; cin.ignore(); char *str =...

чтение строки из файла задом наперед - C++
Нужна ваша помощь. Написал прогу которая выполняет определенные действия, но перед этим требуется ввести логин и пароль, если они...

Вывести последовательность слов задом наперед - C++
Задание: Дана строка, группу букв, разделенных пробелами (одним или больше) будем считать словами. Вывести последовательность слов задом...

Напечатать заданное слово задом наперед - C++
Составить программу, которая печатает заданное слово задом наперед

Вывести буквы в словах строки задом-наперед - C++
я немного переделал под себя прогу которую сделали чтобы было понятно, у меня она потеряла смысл ,помогите разобраться? Вот я...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tenzor
5 / 5 / 9
Регистрация: 21.05.2014
Сообщений: 29
23.05.2014, 00:59     Число задом наперед #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
    int num;
    int temp;
    int answer = 0;
    cout << "Enter any number" << endl;
    cin >> num;
    while(num!=0) {
        temp = num%10;
        answer=answer*10+temp;
        num = num/10;
    }
    cout << "New number: " << answer << endl;
    return 0;
}
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
23.05.2014, 01:03     Число задом наперед #3
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <iostream>
 
int main()
{
    int n;
    std::cin >> n;
    while (n != 0) {
        int num = n % 10;
        n /= 10;
        std::cout << num;
    }
 
    std::cout << std::endl;
 
    system("pause");
    return 0;
}
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.05.2014, 01:04  [ТС]     Число задом наперед #4
Спасибо! Очень хорошый ответ! А через цикл for это реально сделать????
Tenzor
5 / 5 / 9
Регистрация: 21.05.2014
Сообщений: 29
23.05.2014, 01:06     Число задом наперед #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
using namespace std;
int main() {
    int num;
    int temp;
    int answer = 0;
    cout << "Enter any number" << endl;
    cin >> num;
    for(;num!=0;) {
        temp = num%10;
        answer=answer*10+temp;
        num = num/10;
    }
    cout << "New number: " << answer << endl;
    return 0;
}
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
23.05.2014, 01:09     Число задом наперед #6
Sapendo, А зачем, через for будет точно так же, т.е.
C++
1
for (;n != 0;)
и тело цикла точно такое же как если бы был цикл while
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.05.2014, 01:20  [ТС]     Число задом наперед #7
Помогите разобраться теперь!
Предположим число 12
C++
1
2
3
4
5
6
7
 for(;num!=0;)//введенное число не должно равняться нулю
{
        temp = num%10;// поделили по модулю  temp = 2
        answer=answer*10+temp;//answer=0*10+2=2
        num = num/10;//num = 1
    }
    cout << "New number: " << answer << endl;
Не могу понять почему мы выводим answer и как получается 21??????
Какая функция переворачивает число?????
Спасибо за пояснения, хочу разобраться!!!!
moomot
9 / 9 / 3
Регистрация: 12.07.2013
Сообщений: 57
23.05.2014, 01:29     Число задом наперед #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
int main () {
    int a = 0, temp = 0;
    cin >> a;
    while(a>0)
    {
        temp = a%10;
        a = a/10;
        cout << temp;
    }
    return 0;
}
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
23.05.2014, 01:30     Число задом наперед #9
Sapendo, В комментариях к коду же все написано
Сначала берем от числа num по модулю 10, т.е. берется последняя цифра, например 2.
Затем к числу answer прибавляем temp, предварительно умножив число answer на 10.
И далее делим число num на 10, чтобы убрать последнюю цирфу.
Sapendo
5 / 5 / 3
Регистрация: 13.05.2014
Сообщений: 130
23.05.2014, 01:32  [ТС]     Число задом наперед #10
Коментарии к коду это я написал!!!! Но вопросы те же!!!!!
RamonN
32 / 32 / 11
Регистрация: 13.07.2011
Сообщений: 136
23.05.2014, 02:46     Число задом наперед #11
Sapendo, Если быть кратким: С помощью оператора взятия по модулю % берем от числа num последнюю цифру (проще говоря, делим число на 10 и берем остаток от деления). Далее, чтобы поместить то число. которое у нас получилось после операции взятия по модулю, мы сначала должны итоговое число answer умножить на 10, чтобы каждый раз когда мы добавляли цифру в answer, у нас она добавлялась в конец. Затем мы делим введенное нами число num на 10, чтобы убрать последнюю цифру, т.е было число 21, делим на 10, остается 2, потому что у нас num является целочисленной переменной, соответственно дробная часть теряется.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.05.2014, 04:00     Число задом наперед
Еще ссылки по теме:

Вывести вписанное пользователем слово задом наперед - C++
Добрый день нужно вывести,вписанное пользователем слово задом наперед в C++ помогите как можно быстрей пожалуста,нужно использовать...

Вывести строку символов на экран задом наперед - C++
Дана строка символов. Вывести её на экран задом наперед. Использовать библиотеку string.h Добавлено через 3 минуты как я понимаю...

Неправильный вывод (список выводится задом наперед) - C++
Здравствуйте. Не сильно разбираюсь в списках и хотел бы спросить, заполняю структуру значениями, все хорошо, но вывод на экран почему-то...

Перезаписать массив типа int задом наперед - C++
Здравствуйте, есть массив: int pos1 = {7,3,0}; мне нужно сделать так, чтоб массив имел такой вид: pos1 = {0,3,7}; как это можно...

Инвертировать символы (разместить задом наперед) в указанной строке - C++
Напишите программу, которая 1. Вводит с клавиатуры число записей в массиве структур n -целое число. 2. Создает динамический массив...


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

Или воспользуйтесь поиском по форуму:
uhx
57 / 57 / 6
Регистрация: 11.07.2013
Сообщений: 303
23.05.2014, 04:00     Число задом наперед #12
% - выдает остаток от деления
Т.е. 321 % 10 выдаст единицу
123 % 10 выдаст тройку
4 % 2 = 0
5 % 2 = 1
Yandex
Объявления
23.05.2014, 04:00     Число задом наперед
Ответ Создать тему
Опции темы

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