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

Помогите с палиндромами - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Алгоритмы и методы http://www.cyberforum.ru/cpp-beginners/thread356842.html
Помогите написать программу на Borland C++ чтобы по вот этой формуле: f(x)=4\ast \sin \left(x \right)^4+2\ast \cos \left(x \right)^3+2 Программа использовала четыре разных метода(то есть четыре разных программы каждая их которых использует один из методов): 1.Алгоритм отделения корней 2.Метод простых итераций 3.Метод касаемых(Ньютона) 4.Любой метод на выбор
C++ Служба времени задача остановить службу времени от пользователя с обычными правами. просто остановки от админа - я добился, почитав хэлп к студии и рдсн. Теперь задача чтобы кликнув по exe у юзера с простыми правами остановилась служба времени. Тут я чутка подвис. Ну LogonUser логинит админа и возвращает токен, а дальше? что с токеном делать то? Пока только понял что это удобно для создания процесса от имени... http://www.cyberforum.ru/cpp-beginners/thread356821.html
c++, visual studio 2010! 7 C++
Given three natural numbers a, b, c which represent the day, month and year of some date. For example: 1, 4, 1991 represents 1st April 1991. Output three numbers which represent the following date. Example: Input: 1 4 1991 Output 2 4 1991
c++, visual studio 2010! 6. C++
Given natural number n. Compute 2 to the power of n. Do not use pow() function. Example: Input: 5 Output: 32
C++ c++, visual studio 2010! 2. http://www.cyberforum.ru/cpp-beginners/thread356809.html
Given a year number. Output the number of days of that year. Example: Input: 1900 Output 365 Example:
C++ c++, visual studio 2010! 1. Given real numbers a, b, c, where a is not 0. Find if a quadratic inequality ах2 + bx + с = 0 has real roots. If it does, output them. If there are no solutions, output “no solution”. Output roots on one line, separated by a whitespace. Example: Input: 1 0 0 Output 0 Example: подробнее

Показать сообщение отдельно
x1Mike7x
 Аватар для x1Mike7x
214 / 127 / 6
Регистрация: 06.11.2010
Сообщений: 234
26.09.2011, 23:23     Помогите с палиндромами
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
#include <cmath>
#include <iostream>
 
bool is_palindrome( int X )
{
    int Temp1, Temp2, L = (int)pow( 10.0, (double)(int)log10( (double)X ) );
    while ( L )
    {
        Temp1 = X % 10;
        Temp2 = X / L;
        if ( Temp1 != Temp2 )
            return false;
        X %= L;
        X /= 10;
        L /= 100;
    }
    return true;
}
 
int main()
{
    int N;
    std::cin >> N;  
    for ( int i = 1; i <= N; ++i )
    {
        if ( is_palindrome( i ) )
        {
            std::cout << i << " is palindrome";
            if ( is_palindrome( i * i ) )
                std::cout << " & square of " << i << " ( " << i * i << " ) palindrome too" << std::endl;
            else
                std::cout << ", but square of " << i << " ( " << i * i << " )isn't palindrome" << std::endl;
        }
    }
    return 0;
}
http://codepad.org/UsPY7eW5

Вот это даёт количество цифр в числе минус 1, что по сути есть степенью 10ки, на которую надо делить наше число, чтобы узнать последний десятичный разряд.
C++
1
(int)log10( (double)X )
--------------------------------------------------------------------------------------

Если же исправлять Вашу программу, то скорее всего ошибка в строке 21
C++
1
2
3
if (i+1==y)
//заменить на
if ((i+1)*(i+1)==y)
 
Текущее время: 15:04. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru