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

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

Войти
Регистрация
Восстановить пароль
 
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
#1

Число с записью цифр в обратном порядке - C++

06.11.2012, 21:06. Просмотров 741. Ответов 3
Метки нет (Все метки)

Нужна функция которая, получив целое число, формирует новое, в котором запись цифр организована в обратном порядке. Например, функция получает число 234080, а возвращает 080432.
Сделал кое-что сам, но результат оставляет желать лучшего. Используется два цикла, первый для подсчета количества цифр. Для чисел, не содержащих нули он работает, в противном случае результат неверный.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <math.h>
int fun(int ch)
{
int kol=0,nch=0,a,k=ch;
float st=10;
while(k)
{
    k=k/10;
    kol++;
}
while(ch)
{
    a=ch%10;
    kol=kol-1;
    nch=nch+a*pow(st,kol);
    ch=ch/10;
}
return nch;
}
Добавлено через 1 час 9 минут
Сделал сам! Уже не актуально.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2012, 21:06
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Число с записью цифр в обратном порядке (C++):

Заменить данное число на число, которое получается из исходного записью цифр в обратном порядке - C++
Заменить данное натурально число на число, которое получается из исходного записью цифр в обратном порядке(например, дано число 156, нужно...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке - C++
1) Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число...

Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке. Например, дано число 156, нужно получ - C++
Вобщем,если не сложно,именно саму функцию помочь написать,ибо я просто не могу понять:) Добавлено через 22 минуты вот так...

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

В заданном массиве натуральных чисел заменить все числа на такие числа, которые получаться из исходного записью его цифр в обратном порядке - C++
Ребят выручайте не могу зачет сдать из-за этой лабы =( не могу сделать. надо сделать через тип данных вектор. &quot; В заданном массиве...

найти число, которое получено из N перестановкой его цифр в обратном порядке - C++
Помогите пожалуйста, сессия скоро.. а я дуб дубом в си...... спасибо заранее!! Дано целое число N (N &gt; 0). Используя операции деления...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
ebywku
0 / 0 / 0
Регистрация: 01.03.2013
Сообщений: 58
11.04.2013, 15:01 #2
а можешь скинуть,как исправил?)
0
VEINHORN
543 / 92 / 22
Регистрация: 16.12.2011
Сообщений: 317
13.04.2013, 01:56 #3
ebywku,
В принципе корявый алгоритм,на форуме нашел
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
using namespace std;
int main()
{
    setlocale(LC_CTYPE,"Russian");
        int a;
    int buf[6];
    cout << "Введите число ";
    cin >> a;
    for(int i = 0; i < 6; i++)
    {
        buf[i] = a%10;
        a = a/10;
    }
    cout <<"Новое число = "<< buf[0] << buf[1] << buf[2]<< buf[3] << buf[4] << buf[5] << endl;
    system("pause");
    return 0;
}
Ссылка
0
sword7i
3 / 3 / 0
Регистрация: 25.09.2012
Сообщений: 92
13.04.2013, 13:01  [ТС] #4
ebywku,

Файл main.cpp

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
31
#include <iostream>
using namespace std;
long fun(long ch);
long main()
{
setlocale (LC_ALL, "Russian");
long ch,obrch;
int kol=0,out;
while(true)
    {
    cout<<"Введите число: ";
    cin>>ch;
    obrch=fun(ch);
    if (obrch==ch)
        {
        cout<<"Ваше число: "<<ch<<" является палиндромом!"<<endl<<endl;
        kol++;
        cout<<"Количество подсчитанных палиндромов: "<<kol<<endl<<endl;
        }
    else
        {
        cout<<"Ваше число: "<<ch<<" не является палиндромом! Обратная запись числа: "<<obrch<<endl<<endl;
        cout<<"Количество подсчитанных палиндромов: "<<kol<<endl<<endl;
        }
    cout<<"Для выхода введите 0, чтобы продолжить ввод введите любую другую цифру: ";
    cin>>out;
    cout<<endl<<endl;
        if (out==0)
        exit(0);
    }
}

Файл fun.cpp


C++
1
2
3
4
5
6
7
8
9
10
11
#include <math.h>
long fun(long ch)
{
long nch = 0;
while(ch)
    {
    nch = 10*nch + ch%10;
    ch=ch/10;
    }
return nch;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.04.2013, 13:01
Привет! Вот еще темы с ответами:

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

Найдите трехзначное число, состав ленное из тех же цифр, но записанных в обратном порядке - C++
Помогите пожалуйста решить!)очень нужно до завтра!)Заранее БЛАГОДАРЕН!!! Датчиком случайных чисел сгенерируйте натуральное число в...

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

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


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

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

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