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

Палиндром... - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ на С++ Черно-белая графика http://www.cyberforum.ru/cpp-beginners/thread352088.html
Нужно решить на С++ Каждый элемент квадратной матрицы размеренности N x N равен нулю, либо единице. Найдите количество «островов», образованных единицами. Под «островом» понимается группа единиц (либо одна единица), со всех сторон окруженная нулями (или краями матрицы). Единицы относятся к одному «острову», если из одной из них можно перейти к другой «наступая» на единицы, расположенные в...
C++ Вопрос по односвязному списку. Ребят у меня такой вопрос! Нам в универе дали задание реализовать односвязный список на базе массива с индексными указателями. Все хорошо, я знаю как сделать обычный список!А вот дополнение через массив указателей не много не догоняю! Обьясните пожалста! http://www.cyberforum.ru/cpp-beginners/thread352063.html
Буквенные сочетания. C++
Всем привет. Озадачился. Есть 2 регистра англ. алфавита, хочу вывести все 2х буквенные сочетания верхнего и нижнего регистра и соответственно нижнего с верхним и наоборот, на выходе 4 массива сочетаний. Хотел сначала задать unsigned char Eng_Up={'A', 'B',.......}, но потом подумал как преобразовать на выходе именно в строку 'AA', 'AB'...., поэтому начал задавать массивы строк и уперся в стену...
C++ Аффинные пространства
Помогите пожалуйста, у кого - нибудь есть готовая программа под Visual Studio 2008 реализации операций с аффинными элементами аффинного пространства или посоветовать книгу где есть эта программа?
C++ Построение бинарного дерева из строки http://www.cyberforum.ru/cpp-beginners/thread352039.html
Доброго времени суток, уважаемые. Хотел бы спросить у вас спросить совета относительно реализации следующей проблемы: Задано арифметическо-логическое выражение (к примеру, (A+B-7*(3+C)>12)OR(B-A+19<7)), которое нужно перевести в дерево. Собственно интересует меня не код программы, а возможные алгоритмы решения данной задачи - т.е. последовательность построения дерева и добавления узлов. ...
C++ Необходимо накопить сумму всех элементов массива, находящихся в интервале от А до В, и вывести её на экран. Всем доброго времени суток!!! Вкратце о проблеме: учусь на гуманитарном, новая специальность, никакой учебной программы нет. И тут нам начали впаривать информатику, программирование, причем за 2 месяца пытались натаскать до уровня написания легких программ... Вы представляете, что получилось... Но требуют, как будто мы программисты... Времени осталось в обрез... Все попытки хотя бы установить... подробнее

Показать сообщение отдельно
fasked
Эксперт С++
4933 / 2513 / 180
Регистрация: 07.10.2009
Сообщений: 4,311
Записей в блоге: 1
16.09.2011, 11:02     Палиндром...
lp_4eva, этот цикл неверен. Так зачем его объяснять?
Определить является ли строка палиндромом можно следующим образом.
Палиндром...
Сравниваются символы с начала и конца строки, последовательно двигаясь к середине. Если хотя бы одна пара не равна, то строка не является палиндромом.
В простейшем случае на С++ это можно реализовать следующим образом:
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 <iostream>
#include <string>
#include <cctype>
#include <vector>
 
bool is_palindrome(const std::string &word) {
   for (size_t i = 0; i < word.length()/2; ++i) {
      if (tolower(word[i]) != tolower(word[word.length() - i - 1]))
         return false;
   }
   
   return true;
}
 
int main() {
   std::vector<std::string> tests = {
      "God saw I was dog", "Dennis sinned", "This isn't palindrome"
   };
   
   for (size_t i = 0; i < tests.size(); ++i) 
      std::cout << tests[i] << ' ' << is_palindrome(tests[i]) << std::endl;
      
   return 0;
}
Функция tolower переводит символ в нижний регистр, чтобы проверка была не чувствительна к регистру. Например, чтобы символы 'a' и 'A' считались одинаковыми (читаются то ведь они одинаково, верно?).
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru