Помогите с С++

Можно задавать любые вопросы связанные с программированием и мы постараемся на него ответить.

Модератор: Cerberus

Person

Помогите с С++

Непрочитанное сообщение Person »

Здравствуйте. Очень нада сделать задачку. Уже всю голову сломал.
Вобщем надо чтобы вводилось число и потом оно печаталось наоборот. Например 1234 - 4321
Я сделал для четырехзначных чисел а нада для любых. вообще никаких идей нет :cry:

вот для четырехзначных что получилось

int x;
cout<<"введите число ";
cin>>x;
cout<<"число наоборот ";
int y;
y = x/1000 + (x/100)%10*10 + (x/10)%10*100 + (x%10)*1000;
cout<<y;
57EA17h
Злобный Админ
Сообщения: 1244
Зарегистрирован: Чт мар 31, 2005 17:12
Пол: мужской
Откуда: Выкса
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение 57EA17h »

давно я не писал на сях, но если не привязываться к языку, и учитывая, что с полученным числом наоборот не надо более ничего делать, как просто вывести, можно преобразовать исходное в строку, получить её размер и вывести посимвольно в обратном порядке. :)
перевести - itoa().
strlen() подскажет длину получившейся строки.
к строке можно обратиться как к массиву символов, и таким образом вывести в нужном порядке
Не давай юзерам прав — они и без прав юзеры!
Person

Re: Помогите с С++

Непрочитанное сообщение Person »

Если не сложно, дайте пример. Мы массивы пока не проходили... :o
Дыбра
Добрый Админ
Сообщения: 5434
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение Дыбра »

Как вариант - можно сделать то же самое, только подлиннее (например до 10 знаков) и вырезать ненужные нули в полученном числе.
Ну или да, через инверсию строки - это самое оптимальное решение. Реализуется просто - в цикле читать строку с конца посимвольно и записывать в новую строку.
Администратор сайта "Виртуальная Выкса"
enola
Свой в доску
Сообщения: 458
Зарегистрирован: Вт окт 11, 2005 20:14
Откуда: ВЫКСА(это не капс:О)
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение enola »

А мне нужно ханойские башни сделать :wall: Помогите, кто может)
завтра будет... лучше.
Дыбра
Добрый Админ
Сообщения: 5434
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение Дыбра »

enola писал(а):А мне нужно ханойские башни сделать :wall: Помогите, кто может)
Тань, мне кажется это легко гуглиться. Вполне типовая учебная задача.
Администратор сайта "Виртуальная Выкса"
enola
Свой в доску
Сообщения: 458
Зарегистрирован: Вт окт 11, 2005 20:14
Откуда: ВЫКСА(это не капс:О)
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение enola »

а преподаватели еще не научились вычислять нагугленное?О_о
завтра будет... лучше.
Дыбра
Добрый Админ
Сообщения: 5434
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Благодарил (а): 1 раз
Поблагодарили: 6 раз
Контактная информация:

Re: Помогите с С++

Непрочитанное сообщение Дыбра »

Алгоритм одинаковый :) Ну а названия переменных поменяешь :)
Администратор сайта "Виртуальная Выкса"
Ответить

Вернуться в «В помощь будущим программистам»