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

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

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

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

30.09.2011, 19:37. Просмотров 1123. Ответов 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++
Палиндром ведь это слова одинаково читающееся в обоих направениях. Помогите разобрать метод?! string palindrome(string word){ ...

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

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

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

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

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

Число-палиндром - C++
Задача: Назовем, натуральное число палиндромом, если его запись читается одинаково с начала и с конца ( например 4554, 676, 5 ) 1....

Строка-палиндром - C++
Подскажите пожайлуйста, как определить является ли строка палиндромом(можно использовать стандартные строковые подпрограммы) и как...

Найти палиндром - C++
Здравствуйте! Можете помочь найти палиндром, нашел много примеров но ни один не подходит, и я не понимаю как оно вообще делается. Пример 1,...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
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.
Yandex
Объявления
30.09.2011, 21:15     палиндром
Ответ Создать тему
Опции темы

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