Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 29.05.2010, 23:57   #1
Maxim1
 
Регистрация: 29.05.2010
Сообщений: 7
Вопрос С++ для начинающих

Люди, уже мозги кипят!
Задача для начинающих обучение.
Условие задачи:
Пользователь вводит с клавиатуры число, необходимо перевернуть его (число) и вывести на экран. Например, пользователь ввел число 12345. На экране должно появиться число наоборот: 54321.
Maxim1 вне форума Ответить с цитированием
Старый 30.05.2010, 00:04   #2
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Код:
    std::string digit;
    std::cin >> digit;
    std::reverse( digit.begin(), digit.end() );
    std::cout << digit << '\n';
Вот более простое, с начала немного сглупил, добавить проверку( а число ли введенная строка ) и всё будет хорошо
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux

Последний раз редактировалось ozo; 30.05.2010 в 00:11.
ozo вне форума Ответить с цитированием
Старый 30.05.2010, 00:10   #3
Maxim1
 
Регистрация: 29.05.2010
Сообщений: 7
По умолчанию

Благодарю! А нет ли более простого решения? Я начал обучение буквально недавно и с некоторыми приведёнными в коде операторами ещё не знаком.
Maxim1 вне форума Ответить с цитированием
Старый 30.05.2010, 00:13   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
char number[10];
std::cin.getline(number, 10);

int length = strlen(number);
for(int i = 0; i < length / 2; i++) {
    int tmp = number[i];
    number[i] = number[length - i - 1];
    number[length - i - 1] = tmp;
}
netrino вне форума Ответить с цитированием
Старый 30.05.2010, 00:15   #5
Maxim1
 
Регистрация: 29.05.2010
Сообщений: 7
По умолчанию

СУПЕР! Спасибо огромное!
Maxim1 вне форума Ответить с цитированием
Старый 30.05.2010, 18:23   #6
Progsenya
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 80
По умолчанию

какое єто же супер ті же писал что ті начинающий программист а строки изучают почти в конце языка си для начала курса сущевствуют и более простые коды реализации.
Препод за домашнее попросит тебя обьяснить как ты зделал что тогда (если вы не проходили тему строки и масивы строк)
Progsenya вне форума Ответить с цитированием
Старый 30.05.2010, 18:35   #7
Progsenya
Пользователь
 
Регистрация: 30.05.2010
Сообщений: 80
Стрелка Вот решение для начинающего

программа переворачивающая число задом на перед (самая простая версия для начинающих)
си изучать со строк еще никто не начинал
#include<iostream>
using namespace std;
void main()
{
int a;
int b;
a=123;
b=a%10;
cout<<b;
a/=10;
b=a%10;
cout<<b;
b=a/10;
cout<<b;
cout<<endl;
}
Progsenya вне форума Ответить с цитированием
Старый 30.05.2010, 18:46   #8
Syuf
Форумчанин
 
Аватар для Syuf
 
Регистрация: 02.02.2010
Сообщений: 599
По умолчанию

Если уж вдоваться в маразм, то так:
Код:
#include <iostream>
using std::cout;
using std::endl;
using std::cin;

int main()
{
     int a(0), b(0);
     cout<<"Input the number:   ";
     cin>>a;
     while(a>0)
     {
          b = b*10 + a%10;
          a = (a - a%10) / 10;
     }
     cout<<"Result:   "<<b<<endl<<endl;
     return 0;
}
А вообще Maxim1 уже нет на форуме - ему все пофиг.
"Лишь то читается легко, что написано с трудом; что в час написано, то в час и позабыто."

Последний раз редактировалось Syuf; 30.05.2010 в 18:48.
Syuf вне форума Ответить с цитированием
Старый 30.05.2010, 19:24   #9
Maxim1
 
Регистрация: 29.05.2010
Сообщений: 7
Хорошо

Ничего, что нет - ему, просто, рано вставать было нужно на следующий день.
Благодарю за ещё один вариант. Для кого-то, возможно, маразм, а для кого-то очень интересный вариант. Так что ещё раз благодарю, и буду благодарен за все отзывы!
Спасибо!
Maxim1 вне форума Ответить с цитированием
Старый 30.05.2010, 23:18   #10
ozo
Форумчанин
 
Аватар для ozo
 
Регистрация: 26.04.2010
Сообщений: 328
По умолчанию

Цитата:
Сообщение от Progsenya Посмотреть сообщение
какое єто же супер ті же писал что ті начинающий программист а строки изучают почти в конце языка си
для начала курса сущевствуют и более простые коды реализации.
Да, мы не ищем лёгких путей ! Нам бы побольше кода !
Цитата:
Сообщение от Progsenya Посмотреть сообщение
Препод за домашнее попросит тебя обьяснить как ты зделал что тогда (если вы не проходили тему строки и масивы строк)
почитает немного и объяснить как он это сделал.
Цитата:
Сообщение от Progsenya Посмотреть сообщение
конце языка си
Во-первых тут о плюсах тема, а во-вторых у того же Страуструпа почти в самом начале "Язык программирования C++ ( Специальное Издание)" std::map рассматривается
Используй гугль, будь счастлив
hackme@yandex.ru
Блог об archlinux
ozo вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Урок по С++ для начинающих. spamer Общие вопросы C/C++ 7 11.07.2009 04:32
C/C++, подработка для начинающих lexaxl Фриланс 1 20.02.2009 14:48
Oracle для начинающих Neymexa SQL, базы данных 1 14.02.2009 10:08
Лекции для начинающих MalexG Помощь студентам 1 14.11.2008 19:12
Помощь в Задачке для начинающих С++ Woha Общие вопросы C/C++ 7 24.10.2008 20:11