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

Получить все меньшие 100 натуральные числа,которые являются палиндромами как в десятичной,так и в двоичной системах - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изменение размера массива в конструкторе http://www.cyberforum.ru/cpp-beginners/thread294980.html
Создайте класс matrix полем класса будет массив 10 на 10. Конструктор должен позволять программисту определить реальный размер массива(допустим, сделать его меньше, чем 10 на 10. Вот фрагмент функции...
C++ структуры вопрос #include <iostream> #include <cmath> using namespace std; struct point { double x,y,z; }; double dlina(point a,point b) http://www.cyberforum.ru/cpp-beginners/thread294972.html
C++ упорядочить по возростанию числа большие 2
упорядочить по возростанию числа больше 2 , а остальные оставить на своих же местах
Сортировка C++
Помогите отсортировать массив символов быстрой сортировкой) я ее не понимаю. Сделала вот так и не получается // ф-ция быстрой сортировки с разделением int BSortirovka(int N, char* a) {...
C++ Работа со структурами и функциями. http://www.cyberforum.ru/cpp-beginners/thread294968.html
Описать тип struct DateTime, задающий дату и время (год, месяц, день, часы, минуты, секунды, день недели). Реализовать в виде отдельных функций следующие операции над переменными описанного типа:...
C++ Нужно руководство по написанию спамера=) Доброго времени суток уважаемые пользователи cyberforum! Гуглил нигде не нашел подходящей темы, хочу написать своего спамера, но не знаю от чего можно оттолкнуться, помогите пожалуйста. подробнее

Показать сообщение отдельно
ForEveR
В астрале
Эксперт С++
7972 / 4734 / 321
Регистрация: 24.06.2010
Сообщений: 10,542
Завершенные тесты: 3
14.05.2011, 02:06
Ириска5, Ну да. С библиотекой ввода-вывода можно мноооогое решить) Учите другие. На iostream далеко не уедете)

Добавлено через 20 минут
И еще. Я конечно прошу прощения. Но числа притендующие на палиндромность это 11, 22, 33, 44, 55, 66, 77, 88, 99. Менее ста других нету. Бинарных палиндромов среди них тоже...
Извиняюсь) Ступил. Прога.

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
#include <iostream>
 
void swap(char* f, char* s)
{
    char t = *f;
    *f = *s;
    *s = t;
}
 
char* reverse(char* ptr)
{
    size_t size = strlen(ptr);
    for(size_t i = 0; i < size / 2; ++i)
        swap(&ptr[i], &ptr[size-i-1]);
    return ptr;
}
 
char* to_bin(int one)
{
     const int max_size = 8;
     char* array = new char[max_size];
     int i = 0;
     while(one != 0)
     {
         array[i++] = (one & 1) + '0';
         one >>= 1;
     }
     array[i] = '\0';
     return reverse(array);
}
 
bool isBinPal(char* ptr)
{
    char* new_ptr = new char[strlen(ptr) + 1];
    strcpy(new_ptr, ptr);
    new_ptr = reverse(new_ptr);
    bool is = strcmp(new_ptr, ptr) == 0;
    delete[] new_ptr;
    return is;
}
 
bool isDecPal(int one)
{
    if(one < 11)
        return true;
    return one % 10 == one / 10;
}
 
int main()
{
    for(int i = 11; i <= 99; i+=11)
    {
        char* ptr = to_bin(i);
        if(isBinPal(to_bin(i)) && isDecPal(i))
            std::cout << i << " - " << ptr << '\n';
        delete[] ptr;
    }
}
Добавлено через 10 минут
Ах да. 1-9 не учитываю. но учесть не трудно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru