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

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

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

Вывести на экран все числа-палиндромы (числа, которые одинаково читаются как слева так и справа) - C++

25.11.2014, 09:01. Просмотров 1390. Ответов 4
Метки нет (Все метки)

Вывести на экран все числа палиндромы (т.е числа которые читаются одинаково как слева, так и справа) из заданного интервала натурального ряда [n1,n2] на языке С++
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.11.2014, 09:01
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Вывести на экран все числа-палиндромы (числа, которые одинаково читаются как слева так и справа) (C++):

Вывести слова, которые читаются одинаково слева направо и справа налево - C++
Всем привет! Помогите написать программу, в которую вводишь строку слов, а она выводит слова, которые читаются одинаково слева направо и...

Вывести элементы массива, которые читаются слева направо и справа налево одинаково - C++
15.5 Дан массив натуральных чисел A. Все элементы трехзначные. Вывести те элементы, которые читаются слева направо и справа налево...

Написать программу, которая выделяет любим способом в тексте слова палиндромы (слова, которые читаются одинаково справа налево и слева направо) - C++
Вот примеры - "level, radar, dewed, civic, solos..." и строка - "When I get on a high level in programming?"

Посчитать количество чисел, которые читаются одинаково слева на право и справа на лево - C++
Ввести в память машины одномерный целочисленный массив, размером не менее 10 элементов. Ввод осуществить с клавиатуры. Произвести...

Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, "АННА", "ШАЛАШ" - C++
Заданный словарь слов. Найти в нем слова-палиндромы, то есть такие, которые одинаково читаются слева направо и наоборот, например, "АННА",...

числа которые в интервале(100-200) читаются как с начала так и с конца - C++
сделать программу чтоб она вывела все числа которые в интервале(100-200) читаются как с начала так и с конца на начало одинаково...

4
Aloir
219 / 219 / 13
Регистрация: 17.12.2010
Сообщений: 707
25.11.2014, 10:53 #2
используйте поиск.
0
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
25.11.2014, 11:07 #3
Код на С++
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
#include <iostream>
 
int main(){
    
    int n1, n2;
    do{
        std::cin >> n1 >> n2;
    }while(n1 < 1 || n2 < n1);
    
    for (int i = n1; i <= n2; ++i){
        
        int buf = i;
        int n = 1;
        while ((buf /= 10) > 0)
            ++n;
        
        int flag = 1;
        for (int j = 1; j <= n/2; ++j){
            
            int p_10_n_j = 1;
            for (int k = 1; k <= n - j; ++k)
                p_10_n_j *= 10;
            
            int p_10_j_1 = 1;
            for (int k = 1; k <= j - 1; ++k)
                p_10_j_1 *= 10;
                
            if ((i/p_10_n_j) % 10 != (i/p_10_j_1) % 10){
                flag = 0;
                break;
            }
        }
            
        if (flag == 1)
            std::cout << i << std::endl;        
    }
}
1
WillieWonka
0 / 0 / 0
Регистрация: 16.11.2014
Сообщений: 18
12.12.2014, 08:48  [ТС] #4
Можете объяснить?
0
D_in_practice
331 / 331 / 159
Регистрация: 02.10.2014
Сообщений: 666
12.12.2014, 10:18 #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
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
 
int main(){
    
    int n1, n2;
    do{
        std::cin >> n1 >> n2;
    }while(n1 < 1 || n2 < n1);//ввод начального и конечного значений
                              //пока начальное < 1 и конечное меньше начального
    
    for (int i = n1; i <= n2; ++i){//для всех чисел от n1 до n2
        
        int buf = i;//запишем число в новую переменную, чтобы не потерять его
        
        int n = 1;//считаем сколько цифр содержит число
        while ((buf /= 10) > 0)//их столько, сколько раз число делится на 10
            ++n;
        
        int flag = 1;//флаг = 1 если число палиндром
        for (int j = 1; j <= n/2; ++j){//проверим первую половину цифр
            
            int p_10_n_j = 1;//получаем 10^(n - j)
            for (int k = 1; k <= n - j; ++k)
                p_10_n_j *= 10;
            
            int p_10_j_1 = 1;//получаем 10^(j - 1)
            for (int k = 1; k <= j - 1; ++k)
                p_10_j_1 *= 10;
                
            if ((i/p_10_n_j) % 10 != (i/p_10_j_1) % 10){//если n-j-я цифра
                flag = 0;//не равна j-1-й цифре, установим флаг в 0
                break;//и выйдем из цикла
            }
        }
            
        if (flag == 1)//если число палиндром выведем его на экран
            std::cout << i << std::endl;        
    }//для всех чисел от n1 до n2
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2014, 10:18
Привет! Вот еще темы с ответами:

Найти все числа-палиндромы, которые не больше 100, и их квадраты тоже палиндромы - C++
Натуральное число называется палиндромом, если его запись читается однинакого с начала и с конца (4884, 393, 1). Найти все числа-паиндромы,...

Даны натуральные числа N, K, L (K<L). Вывести на экран все делители числа N, которые меньше K или больше L - C++
Даны натуральные числа N, K, L (K&lt;L). Вывести на экран все делители числа N, которые меньше K или больше L.

Строка: Вывести через запятую слова, одинаково читающиеся справа налево и слева направо. - C++
Дана строка, состоящая из слов, разделенных пробелами (одним или несколькими), составить программу обработки данной строки, выводящую через...

подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... - C++
подскажите: как вывести на экран числа от 0 до 20.... и еще одна: вывести все четные числа от 0 до 20... эт надо очень срочно....


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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