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

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

Модератор: Cerberus

Person

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

Непрочитанное сообщение Person » Пн дек 13, 2010 9:11

Здравствуйте. Очень нада сделать задачку. Уже всю голову сломал.
Вобщем надо чтобы вводилось число и потом оно печаталось наоборот. Например 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
Злобный Админ
Сообщения: 1265
Зарегистрирован: Чт мар 31, 2005 17:12
Пол: мужской
Откуда: Выкса
Контактная информация:

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

Непрочитанное сообщение 57EA17h » Пн дек 13, 2010 14:21

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

Person

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

Непрочитанное сообщение Person » Пн дек 13, 2010 16:30

Если не сложно, дайте пример. Мы массивы пока не проходили... :o

Аватара пользователя
Дыбра
Добрый Админ
Сообщения: 5437
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Контактная информация:

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

Непрочитанное сообщение Дыбра » Вт дек 14, 2010 16:46

Как вариант - можно сделать то же самое, только подлиннее (например до 10 знаков) и вырезать ненужные нули в полученном числе.
Ну или да, через инверсию строки - это самое оптимальное решение. Реализуется просто - в цикле читать строку с конца посимвольно и записывать в новую строку.
Администратор сайта "Виртуальная Выкса"

Аватара пользователя
enola
Свой в доску
Сообщения: 476
Зарегистрирован: Вт окт 11, 2005 20:14
Откуда: ВЫКСА(это не капс:О)
Контактная информация:

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

Непрочитанное сообщение enola » Пн май 16, 2011 21:30

А мне нужно ханойские башни сделать :wall: Помогите, кто может)
завтра будет... лучше.

Аватара пользователя
Дыбра
Добрый Админ
Сообщения: 5437
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Контактная информация:

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

Непрочитанное сообщение Дыбра » Вт май 17, 2011 21:48

enola писал(а):А мне нужно ханойские башни сделать :wall: Помогите, кто может)


Тань, мне кажется это легко гуглиться. Вполне типовая учебная задача.
Администратор сайта "Виртуальная Выкса"

Аватара пользователя
enola
Свой в доску
Сообщения: 476
Зарегистрирован: Вт окт 11, 2005 20:14
Откуда: ВЫКСА(это не капс:О)
Контактная информация:

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

Непрочитанное сообщение enola » Вт май 17, 2011 23:29

а преподаватели еще не научились вычислять нагугленное?О_о
завтра будет... лучше.

Аватара пользователя
Дыбра
Добрый Админ
Сообщения: 5437
Зарегистрирован: Чт мар 31, 2005 16:54
Пол: мужской
Откуда: Выкса
Контактная информация:

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

Непрочитанное сообщение Дыбра » Вт май 17, 2011 23:37

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

Ответить

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