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

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

Войти
Регистрация
Восстановить пароль
 
Оксана Курбатов
18 / 0 / 1
Регистрация: 30.11.2011
Сообщений: 33
#1

Вывести на экран все слова палиндромы - C++

04.03.2013, 23:51. Просмотров 1006. Ответов 2
Метки нет (Все метки)

Помогите разобраться с задачей. по моей логике вроде верно но всё равно не работает(

Вывести на экран все слова палиндромы содержащиеся в заданном сообщении
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
#include "iostream"
#include "string"
using namespace std;
int main()
{
    string str,slovo;
    int a=1;
    string::size_type k=0,pos=0;
    cout<<"Enter string "<<endl;
    getline(cin,str);
    str=str+' ';
    k=str.find(" ",pos);
    while(k!=string::npos)
    {
                          slovo=str.substr(pos,k-pos);
                          for(unsigned int i=0; i<str.length()/2; i++)
                          if(slovo[i]!=slovo[str.length()-i-1]) { a=0; break;}
                          pos=k+1;
                          k=str.find(" ",pos);
                          cout<<slovo<<endl;
                          }
                          
    system("pause");
    return 0;
    }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2013, 23:51     Вывести на экран все слова палиндромы
Посмотрите здесь:

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

Вывести на экран все четные палиндромы - C++
Помогите пожалуйста !) Палиндром -- число, одинаково читающееся слева направо и справа налево, например, 13531. Задача.Вывести на...

Дана строка Найти и вывести все слова палиндромы - C++
Дана строка слова в который разделены пробелами необходимо найти и вывести все слова палиндромы. Вот кое какой код я накидал но он...

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

Из заданного файла удалить все слова c двумя согласными и вывести на экран оставшиеся слова - C++
Привет всем, в с++ не очень шарю, а до строк в изучении еще не дошел , поэтому не пойму как делать Дан текст. Словом текста считается...

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

Вывести на экран все слова сообщения, состоящие из n букв - C++
вывести на экран все слова сообщения состоящие из n букв

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

Найти и вывести на экран все слова, являющиеся палиндромами - C++
В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов, найти и вывести на экран все...

Найти в тексте, состоящем из 1 строки, все слова и числа-палиндромы - C++
Найдите в заданном тексте, состоящем из 1 строки, все слова и числа-палиндромы. Необходимо ввести текст, в котором присутствуют и...

Напечатать все слова-палиндромы,которые есть в этой строке - C++
собственно сабж. буду очень благодарен тому кто поможет,а то я на грани отчисления,а уроки по c++ пролежал дома с переломом ноги =( ...

Вывести на экран все слова, которые имеют даные символы - C++
Вывести на экран все слова, которые имеют даные символы. Написал кусок кода, незнаю как реализовать вывод. #include &lt;iostream&gt; #include...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DiffEreD
1429 / 766 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
05.03.2013, 00:33     Вывести на экран все слова палиндромы #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
 
int main() 
{
    std::cout<<"Enter text(ctrl+Z to stop):\n";
    std::vector<std::string> v( (std::istream_iterator<std::string>(std::cin)), std::istream_iterator<std::string>());
    auto polindrom = [](const std::string& s)
    {
        if (std::equal(s.begin(),s.begin()+s.size()/2, s.rbegin())) std::cout<<s<<"\n";  
    };
    std::cout<<"\n##################################\n\n";
    std::for_each(v.begin(), v.end(), polindrom);
    return 0;
}
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,909
05.03.2013, 02:45     Вывести на экран все слова палиндромы #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
38
39
40
41
42
43
44
45
46
47
48
49
#include <vector>
#include <string>
#include <iterator>
#include <algorithm>
#include <iostream>
 
typedef std::vector<std::string> StringVector;
 
StringVector split(const std::string& str, const std::string& delim)
{
    StringVector dest;
    auto i = str.find_first_not_of(delim);
 
    while(i != std::string::npos)
    {
        auto j = str.find_first_of(delim, i);
        if(j == std::string::npos)
        {
            dest.push_back(str.substr(i));
            break;
        }
 
        const auto n = j - i;
        dest.push_back(str.substr(i, n));
        i = str.find_first_not_of(delim, i + n);
    }
 
    return dest;
}
 
bool ispalindrome(const std::string& s)
{
    auto mid = s.begin() + s.size() / 2;
    return std::equal(s.begin(), mid, s.rbegin());
}
 
void display_all_palindromes(const StringVector& v)
{
    typedef std::ostream_iterator<std::string> Iter;
    std::copy_if(v.begin(), v.end(), Iter(std::cout, "\n"), ispalindrome);
}
 
int main()
{
    std::string str;
    std::cout << "input string: ";
    std::getline(std::cin, str);
    display_all_palindromes(split(str, " ,.:;?!"));
}
Yandex
Объявления
05.03.2013, 02:45     Вывести на экран все слова палиндромы
Ответ Создать тему
Опции темы

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