0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 16
1

Найти в тексте, состоящем из 1 строки, все слова и числа-палиндромы

10.12.2016, 00:13. Показов 1790. Ответов 3
Метки нет (Все метки)

Найдите в заданном тексте, состоящем из 1 строки, все слова и числа-палиндромы.
Необходимо ввести текст, в котором присутствуют и палиндромы и не палиндромы. После этого программа должна отсортировать слова (числа) и выдать какие слова (числа) палиндромы, а какие - нет.

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
#include <iostream>
#include <cstdio>
#include <cstring>
#include <stdio.h>
using namespace std;
 
int main()
{
    const int n = 256;
    char s[n];
    char s_1[n];
    gets(s);
    int j = 0;
    for (int i = 0; i < n; i++)
    {
        if (s[i] == ' ') ;
        s_1[j] = s[i];
        j++;
    }
    {
    s_1[j] = '\0';
    int k = strlen(s_1);
    char * s_2 = new char[k + 1];
    for (int i = 0; i < k; i++)
    {
        s_2[i] = s_1[k - 1 - i];
    }
    s_2[k] = '\0';
    if (!strcmp(s_1, s_2))
    {
        printf("ДА\n");
    }
    else
    {
        printf("НЕТ\n");
    }
    system("Pause");
    return 0;
}
}
Всё что смог написать к данному моменту, дальше не знаю как. Программа, которая выше, определяет одно слово.
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2016, 00:13
Ответы с готовыми решениями:

Найти в заданном тексте, состоящем из n строк, все слова палиндромы и числа палиндромы
Сроки жутко горят :( поэтому надеюсь на вашу помощь: Задача: Найти в заданном тексте, состоящем...

Найти во введенном тексте все слова-палиндромы
Нужна прога, я на первом курсе колледжа. Нужно все просто и понятно. Разработать программу,...

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

Дан текст.Найти все палиндромы(слова-перевёртыши)в етом тексте
Доброго времени суток ув.форумчане!Нужна ваша помощь в решении задачи по программированию.Язык...

3
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
10.12.2016, 01:30 2
Meekoland, данную задачу можно решить так.

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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <iomanip>
 
using namespace std;
 
 
bool flag = false;
bool testPalindrome(char array[], int arraySize, int firstElement)
{
 
    if (!(arraySize == firstElement))
    {
        if (array[firstElement] == array[arraySize])
        {
            flag = true;
            firstElement++;
            arraySize--;
        }
        else
        {
            flag = false;
            return flag;
        }
 
 
        testPalindrome(array, arraySize, firstElement);
    }
 
    return flag;
}
 
 
int _tmain(int argc, _TCHAR* argv[])
{
    setlocale(0, "");
 
    srand(time(0));
 
    const int arraySize = 5;
    char array[arraySize];
 
    for (int counter = 0; counter < arraySize; counter++)
    {
        cin >> array[counter];
    }
 
    for (int counter = 0; counter < arraySize; counter++)
    {
        cout << array[counter];
    }
    cout << endl;
 
    cout << testPalindrome(array, arraySize - 1, 0) << endl;
 
 
 
 
 
    system("PAUSE");
 
    return 0;
}
Добавлено через 4 минуты
Данный код проверяет, является ли строка палиндромом. Если да, то возвращает true, иначе false.

Добавлено через 5 минут
Ну, а для того, чтобы проверить какие слова в тексте являются палиндромом, а какие нет, можно проходить строку и пока не встречен символ пробела проверять слово. После проверки слова на палиндром продолжить прохождение по строке.
0
0 / 0 / 0
Регистрация: 14.10.2016
Сообщений: 16
10.12.2016, 01:50  [ТС] 3
Спасибо большое за код, но можно как то обойтись без bool? Просто в данном виде не работал.
0
79 / 67 / 28
Регистрация: 22.04.2016
Сообщений: 384
10.12.2016, 12:36 4
Лучший ответ Сообщение было отмечено Meekoland как решение

Решение

Meekoland, ну, можно сделать так.
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
int flag = 0;
int testPalindrome(char array[], int arraySize, int firstElement)
{
 
    if (!(arraySize == firstElement))
    {
        if (array[firstElement] == array[arraySize])
        {
            flag = 1;
            firstElement++;
            arraySize--;
        }
        else
        {
            flag = 0;
            return flag;
        }
 
 
        testPalindrome(array, arraySize, firstElement);
    }
 
    return flag;
}
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.12.2016, 12:36

Найти все слова-палиндромы строки
как проверить палиндром знаю, но как из целой строки разбить незнаю, подскажите друзья, буду...

В тексте слова разделены пробелами, найти и вывести слова-палиндромы
Доброго времени суток! Хочу попросить вас о помощи в написании програмы с таким условием: Задан...

Найти в тексте слова-палиндромы
C клавиатуры задается произвольный текст, содержащий не более 10 строк, в каждой строке не более 80...

Найти в тексте слова - палиндромы
Найти в тексте симметричные слова, например &quot;авва, мадам,шалаш и тп.&quot; и вывести их на экран. Вот...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

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