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

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

Войти
Регистрация
Восстановить пароль
 
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
#1

палиндром - C++

30.09.2011, 19:37. Просмотров 1125. Ответов 4
Метки нет (Все метки)

имеется 3 класса
1. проверяет является ли строка char* палиндромом
2. проверяет является ли vector<int> палиндромом
3. проверяет является ли число int палиндромом

Задача объединить их под крышей шаблона.
возникли вопросы
1. как определить размер такого объекта как вектор не используя size()? (т.е. определить размер внутри шаблона)
есть ли такой способ? от чего оттолкнуться проходя циклом по вектору? что будет его окончанием? не очень хочется передавать размер аргументом шаблона палиндрома.
C++
1
palindrom<vector<int>, 10> pal;
хочется
C++
1
palindrom<vector<int>> pal;
2. хорошо объединяется в данном случае, то что поддерживает [],
C++
1
if(val[forward]!=val[back]) return false;
а как быть с int? Есть ли способ (кроме специализации) загнать int под крышу такого шаблона?
поделитесь мыслями плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2011, 19:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос палиндром (C++):

Палиндром - C++
Дайте реализацию программы, определяющей является ли входная строка палиндромом, пожалуйста. Заранее спасибо.

Палиндром - C++
Здравствуйте. Пытаюсь написать программу которая проверяет является ли введёное число с клавиатуры палиндромом. Метод проверки...

Палиндром - C++
разработать программу которая определяет является ли данный текст палиндромом в среде C++

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

Палиндром... - C++
Палиндром ведь это слова одинаково читающееся в обоих направениях. Помогите разобрать метод?! string palindrome(string word){ ...

Палиндром - C++
Нужна программа которая распознает палиндром строчка, слово или нет ! Help ! 12321 ; abcba ;абв гв ба ; И мал Иван, а лупил у лип улана...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
xAtom
914 / 739 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
30.09.2011, 19:53 #2
Цитата Сообщение от AzaKendler Посмотреть сообщение
как определить размер такого объекта как вектор не используя size()?
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
#include <stdio.h>
#include <vector>
using std::vector;
 
template<typename T>
long sum(const T* first, const T* last) {
   long sum = 0;
   while(first != last) 
        sum += (long)*first++;
   return sum;
}
 
int main () {
   int arr[] = { 10, 20, 50, 70 };
   vector<int>  vec(arr, arr + sizeof(arr)/sizeof(arr[0]));
   
   char str[7] = "ABCDEF";
   printf("sum ascii : %d\n",  sum(str, str + strlen(str)) );
   printf("sum vint  : %d\n",  sum(vec.begin(),  vec.end()) );
   printf("sum array : %d\n",  sum(arr, arr + sizeof(arr)/sizeof(arr[0])));
 
   getchar();
   return 0;
}
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
30.09.2011, 21:08  [ТС] #3
xAtom, кул, попробую приладить


ваще реал. спасибо за идею) это бьесценно.

C++
1
2
3
4
5
6
7
8
9
    template <typename Z> bool check(Z start, Z end)
    {
        size_t siz = 0;
        while(start!=end)
        {
            siz++;
            start++;
        }
}
C++
1
2
3
4
char* t = "momom";
    palindrom<char*> p2;
    p2.init(t);// да можно и в конструкторе
        bool bf = p2.check(t,t+strlen(t));
а по вопр №2 int есть мысли каки-нить у кого? (окромя специализации)
C++
1
int pal = 1234321
OstapBender
583 / 521 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
30.09.2011, 21:14 #4
врятли кроме специализации что-то выйдет
AzaKendler
214 / 116 / 9
Регистрация: 30.05.2011
Сообщений: 1,772
30.09.2011, 21:15  [ТС] #5
OstapBender, ok.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.09.2011, 21:15
Привет! Вот еще темы с ответами:

Палиндром с++ - C++
Помогите, пожалуйста, написать программу: Найдите самый большой палиндром, образованный в произведение двух трехзначных чисел.

Палиндром - C++
Здравствуйте! Наткнулся на такую задачу. Дана строка и нужно посчитать сколько палиндрома можно из нее сделать. Например: ввод: ababc ...

Палиндром - C++
Программа находит палиндромы в файле, но не совсем правильно, а именно: проверяет на условие палиндрома только первое слово. Что нужно...

Палиндром в С++ - C++
Нужно составить программу которая определяет, является ли строчка палиндромом или нет. Написал такую программу, несколько раз проводил...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
30.09.2011, 21:15
Ответ Создать тему
Опции темы

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