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

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

Войти
Регистрация
Восстановить пароль
 
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
#1

Функция возвращающая число с обратным порядком цифр - C++

21.03.2013, 15:57. Просмотров 1145. Ответов 4
Метки нет (Все метки)

Нужно написать функцию, которая воспринимает целое значение и возвращает число с обратным порядком цифр. Моя программа почему-то выводит неправильные значения. Помогите разобраться

C++
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>
#include<math.h>
using namespace std;
int naoborot(int);
int main()
{
    setlocale(0,"");
    int chislo;
 
    cout << "Введите число :";
    cin >> chislo;
    cout << "Наоборот число: " << naoborot(chislo) << endl;
}
int naoborot(int ch)
{
    int znaki = 0, del = 1, obrat = 0, i;
    while (ch/del > 0) // определение кол-ва знаков в числе
    {
        if (ch/del > 0)
            znaki++;
        del *= 10;
    }
 
    for (i = 1; i <= znaki; i++) // составление обратного числа
    {
        obrat = obrat + ch/pow(10.0,znaki - i)*pow(10.0,i-1);
        ch = ch%(int)pow(10.0,znaki - i);
    }
    return obrat;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.03.2013, 15:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Функция возвращающая число с обратным порядком цифр (C++):

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

Ввести произвольное целое положительное число. Определить число с обратным порядком цифр заданного числа - C++
Я первокурсник, я мало времени уделил обучению(полный дурак, признаю.) но на завтра нужно сдать лабораторную, я понимаю задание, но циклы...

Составить функцию, которая формирует новое число с обратным порядком цифр по отношению к исходному числу - C++
1. Составить функцию с оператором return. 2. Преобразовать функцию к void-функции, составленную в рамках языка С. 3. Преобразовать...

Функция возвращающая абсолютное разницу первого и второго параметров и функция типа int, возвращающая минимальное из трех целых чисел - C++
Разработать заданные согласно условия функции и сделать в главной программе по два вызова этих функций с различными параметрами. Для...

Получить число с обращеннным порядком цифр - C++
1. Напишите функцию, получающую целое значение, которая возвращает число с обращен-ным порядком цифр.

Функция возвращающая случайное число - C++
Нужна функция Возвращающая случайное число из диапазона который я задам например от 13 до 25. Ещё важно чтобы число не повторялось дважды.

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
fjay69
85 / 85 / 1
Регистрация: 26.10.2012
Сообщений: 248
21.03.2013, 16:14 #2
Всё намного проще:
C++
1
2
3
4
5
6
7
8
9
10
int naoborot(int ch)
{
    int result=0;    
    while (ch!=0)
    {
      result=(result*10)+(ch%10);
      ch=(ch-(ch%10))/10;
    }
    return result;
}
И math подключать не надо!
1
mikhail90
0 / 0 / 0
Регистрация: 21.03.2013
Сообщений: 76
21.03.2013, 16:18  [ТС] #3
Спасибо! Что-то плохо я соображаю .....
0
Shef4u
15 / 15 / 0
Регистрация: 31.10.2011
Сообщений: 116
21.03.2013, 16:28 #4
я бы сделал так, мне так понятней. правда возвращает не число, а строку, но StrToInt все решает если что)
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <vcl.h>
#pragma hdrstop
 
//---------------------------------------------------------------------------
 
#pragma argsused
#include<iostream.h>
#include<windows.h>
#include<string.h>
int main(int argc, char* argv[])
{ string s;
  cout<<"Vvedite s="<<endl;
  cin>>s;
  for(int i=s.length()-1; i>=0; i--)
  {
     cout<<s[i];
     }
     cout<<endl;
  system("pause");
        return 0;
}
0
Ev[G]eN
Эксперт С++
5097 / 1535 / 381
Регистрация: 23.01.2011
Сообщений: 3,148
21.03.2013, 18:41 #5
вариант для извращенцев
C++
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
#include <algorithm>
#include <iostream>
#include <sstream>
#include <cstring>
 
int reverseNumber (int );
 
int main ()
{
    int number;
    std::cout << "Input the number: ";
    std::cin >> number;
    std::cout << "Reverse number: " << reverseNumber(number) << std::endl;
 
    return 0;
}
 
int reverseNumber (int number)
{
    std::ostringstream temp;
    temp << number;
    std::string strNumber = temp.str();
    std::reverse(strNumber.begin(), strNumber.end());
 
    return atoi(strNumber.c_str());
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.03.2013, 18:41
Привет! Вот еще темы с ответами:

Функция, анализирующая строку и возвращающая число - C++
Как не читала и не пробовала эту прогу реализовать никак не получается... Написать функцию, которая анализирует заданную строку и...

Функция, возвращающая число, полученное из целого числа - C++
Выдали задание, но я не могу разобратся в логической цепочки . Не могу понять как написать ее правильно.Кто может напишите=)) ...

Напишите функцию, получающую целое значение, которая возвращает число с обращенным порядком цифр - C++
1. Напишите функцию, получающую целое значение, которая возвращает число с обращен-ным порядком цифр. 2. Наибольший общий делитель (НОД)...

Сложная задача или есть ли в C++ типы с порядком в 30 цифр? - C++
Собственно говоря вот задача, хз как её решать, если запретили использоваться библиотеки для обработки больших чисел, а стандартные...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
21.03.2013, 18:41
Ответ Создать тему
Опции темы

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