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

Нахождение палиндрома в заданном диапазоне - C++

Восстановить пароль Регистрация
 
Atamanochka
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 13
25.09.2012, 19:57     Нахождение палиндрома в заданном диапазоне #1
Помогите пожалуйста с кодом, нужно найти все палиндромы на заданном диапазоне от А до С. Палиндром – такое сочетание цифр, которые читаются одинаково слева направо и справа налево. Например, 121, 55, 4884.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.09.2012, 19:57     Нахождение палиндрома в заданном диапазоне
Посмотрите здесь:

Случайные числа в заданном диапазоне C++
C++ простые числа в заданном диапазоне
C++ Нахождение палиндрома
C++ Нахождение палиндрома.
C++ Генерация случайных чисел на заданном диапазоне
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
25.09.2012, 20:01     Нахождение палиндрома в заданном диапазоне #2
Суть такова:

C++
1
2
3
4
5
6
7
char s_1[10] = "Hello";
int index_1 = 0, index_2 = (strlen(s_1) - 1), index_3 = (index_2 / 2);
 
for(; index_1 < index_3; ++index_1, --index_2)
if(s_1[index_1] != s_1[index_2])
return 0;
return 1;
Atamanochka
0 / 0 / 0
Регистрация: 26.12.2011
Сообщений: 13
25.09.2012, 20:07  [ТС]     Нахождение палиндрома в заданном диапазоне #3
Как я поняла тут выводится 1 если это палиндром, если нет то 0, мне надо что бы они вывелись.
no_wearines
 Аватар для no_wearines
52 / 48 / 2
Регистрация: 01.01.2012
Сообщений: 322
25.09.2012, 20:15     Нахождение палиндрома в заданном диапазоне #4
все верно
DiffEreD
 Аватар для DiffEreD
1420 / 757 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
25.09.2012, 20:21     Нахождение палиндрома в заданном диапазоне #5
Вот вам функция по проверке на палиндром:
C++
1
2
3
4
5
bool palindrom_check(const char* num)
{
string str (num);
return equal(str.begin(),str.begin()+str.size()/2, str.rbegin());
}
kotleta
 Аватар для kotleta
42 / 42 / 11
Регистрация: 13.09.2012
Сообщений: 196
25.09.2012, 20:53     Нахождение палиндрома в заданном диапазоне #6
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
#include <iostream>
#include <sstream>
#include <string>
#include <algorithm>
#include <vector>
#include <map>
 
using namespace std;
 
void isPal (int i, map <int, bool> :: iterator& mi1)
{
 int k;
 
 stringstream ss;
 string s;
 ss << i;
 ss >> s;
 reverse(s.begin(),s.end());
 ss.clear();
 ss << s;
 ss >> k;
 
 (i==k) ? (*mi1).second=true : (*mi1).second=false;
}
 
int main()
{
 map <int, bool> m;
 int a,b;
 cout << "Enter range ";
 cin >> a >> b;
 for(int i=a; i <= b; i++) m.insert (pair <int, bool> (i,false));
 map <int, bool> :: iterator mi1;
 
 for(mi1=m.begin(); mi1 != m.end(); mi1++)
 {
  isPal((*mi1).first,mi1);
  cout << (*mi1).first << " => " << (*mi1).second << endl;
 }
 
 
 
 return 0;
}
Уважаемые профессионалы, жду вашего более элегантного кода, че м мой
Yandex
Объявления
25.09.2012, 20:53     Нахождение палиндрома в заданном диапазоне
Ответ Создать тему
Опции темы

Текущее время: 06:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru