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

Является ли число палиндромом - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Благодарность http://www.cyberforum.ru/cpp-beginners/thread1815867.html
Пасиб за инфу.Помогли Добавлено через 3 минуты прл
C++ Записать элементы массива X, удовлетворяющие условию в массив Y; найти минимальный элемент массива X 4. Записать элементы массива X, удовлетворяющие условию Х, подряд в массив Y =. Определить минимальный элемент массива X. http://www.cyberforum.ru/cpp-beginners/thread1815816.html
Считывание из файла C++
Допустим, стоит условие: из файла записать данных в массив и потом из этого же файла в переменную. Насколько я понимаю,для этого необходимо для массива считывать и записывать данные до какого-то символа, а для переменной - после этого символа до конца файла. Как реализовать считывание из файла до какого-то конкретного символа?
Вычислить сумму последовательности C++
Составьте программу вычисления значения выражения для данного натурального числа N: 1³ + 2³ + 3³ + … + N³.
C++ Вычислить средее арифметическое целых чисел из заданного отрезка http://www.cyberforum.ru/cpp-beginners/thread1815806.html
Составьте программу вычисления среднего арифметического целых чисел из отрезка .
C++ Программа неправильно работает Всем доброго времени суток! Мое задание: "Есть некоторая последовательность цифр. Напишите программу, которая определит, какое максимальное число можно составить из данной последовательности, при условии, что оно должно делиться на 15." Я сделал в программе проверку на наличие 0 и 5, делимость суммы элементов на 3. Однако при выдаче результата программа выдает неверное число. Я подозреваю что... подробнее

Показать сообщение отдельно
GbaLog-
Не Эксперт C++
1428 / 614 / 172
Регистрация: 24.08.2014
Сообщений: 2,486
Записей в блоге: 1
Завершенные тесты: 2
29.09.2016, 12:55     Является ли число палиндромом
K_arina, Тестил не долго, но вроде так работает.
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
// Число - палиндром
#include <iostream>
#include <cmath>
using namespace std;
 
int func(int a); // эта функция считает к-во цифр в числе
 
bool palindrom(int a); // эта функция проверяет является ли число полиндромом
 
 
int main()
{
    int x;
    cout << "Enter your number ";
    cin >> x;
    
 
    func(x); // вызываем функцию определения к-ва цифр
    if (palindrom(x))
        
        cout << "YES" << endl;
    else
        cout << "NO" << endl;
    system("pause");
    
}
 
 
int func(int a) // эта функция считает к-во цифр в числе
{
    if (a == 0)
        return 0;
    else return 1 + func(a / 10); // рекурсивный вызов
}
 
bool palindrom(int a) // функция-проверка палиндрома
{
    if( a == 0 )
    {
        return true;
    }
    
    int k = 0;
    int c = 0;
    int b = 0;
 
    k = func(a);
 
    c = a / (static_cast<int>(pow(10.d,k - 1))); // наибольший разряд (первое число)
 
    // x = pow (a,b), тогда справедливо: x = exp (b * ln(a))
 
    b = a % 10;  // наименьший разряд (последнее число)
    
    
    if (c == b)
    {
        return palindrom((a % static_cast<int>(pow(10.d,k - 1))) / 10);
    }
    else
    {
        return false;
    }
    // сначала находим остаток от деления числа на 10 в степени (к-во цифр - 1) - отбрасываем первую цифру числа, 
    // а потом делим число на 10 - отбрасываем последнюю цифру числа, у нас получилось укороченое слева и справа 
    // число на  один разряд, и уже к новому числу рекурсивно вызываем функцию palindrom
 
    
    // Вот здесь нужен, наверное, какой-то return, но я не знаю какой
    return false;
}
 
Текущее время: 06:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru