Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 22

Работа со строками. Как вывести последнее слово палиндром в моей строке?

11.12.2015, 19:15. Показов 905. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
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
#define _CRT_SECURE_NO_WARNINGS 
#include <iostream> 
#include <cstring> 
using namespace std;
 
int main(){
    char *str = new char[301];
    cout << "Enter the string" << endl;
    cin.getline(str, 301);
    cout << "You entered: " << str << endl << "Search words" << endl;
    char *pch = strtok(str, " ,.-");
    int i = 0;
    while (pch != NULL){
        if ((pch[i] > pch[i + 1]) || (pch[i + 1] == NULL)){
            if (pch[i + 1] != NULL) {
                i = i + 1;
                continue;
            }
            cout << pch << endl;
        }
        else{
            i = 0;
            pch = strtok(NULL, " ,.-");
        }
    }
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.12.2015, 19:15
Ответы с готовыми решениями:

Строки: вывести последнее слово в строке задом наперед
Дано предложение (вводит пользователь). Задача вывести последнее слово в предложении наоборот (hello &gt; olleh).. Со строками не дружу...

Вывести предупреждение, если в вводимой строке первое и последнее слово одинаковое.
Сижу вторые сутки уже над этим...Надо в общем вывести на экран предупреждение, если в вводимой строке первое и последнее слово одинаковое....

Как ищется последнее слово в строке?
Народ , подскажите , а как ищется последнее слово в строке ?

7
 Аватар для Геомеханик
838 / 641 / 940
Регистрация: 26.06.2015
Сообщений: 1,409
11.12.2015, 19:37
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
#include <iostream>
#include <cctype>
#define is_delim(c) (ispunct((c)) || isspace((c)))
 
char* poli_end(char* s){
    char* a, *b, *p = NULL;
    int   k = 0,  n = 0;
    do {
        if(*s && !is_delim(*s))
            ++k;
        else if(k > 0){
            a = s - k;
            b = s - 1;
            while((a < b) && (*a == *b)){
                ++a;
                --b;
            }
            if(a >= b){
                p = s - k;
                n = k;
            }
            k = 0;
        }
    } while(*s++ != '\0');
 
    if(p != NULL)
        *(p + n) = '\0';
    return p;
}
 
int main(void){
    char s[] = "ada, wow, bla, kazak, end.";
    char* p  = poli_end(s);
    if(p != NULL)
        std::cout << p << std::endl;
    return 0;
}
Пример работы кода
0
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 22
11.12.2015, 19:40  [ТС]
А вы можете преобразовать мой код?
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
11.12.2015, 19:54
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <bits/stdc++.h>
using namespace std;
int main() {
    char s[] = "ada, wow, bla, kazak, end.";
    char* p = strtok(s, " ,.");
    string ans,t;
    while(p!=NULL){
        t = p;
        reverse(t.begin(),t.end());
        if (p==t)
            ans = p;
        p = strtok(NULL," ,.");
    }
    cout << ans;
    return 0;
}
1
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 22
11.12.2015, 20:02  [ТС]
reverse(t.begin(), t.end()) что это значит?
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
11.12.2015, 20:04
развернуть слово
0
1 / 1 / 0
Регистрация: 20.11.2015
Сообщений: 22
11.12.2015, 20:09  [ТС]
хмм а может вы мне с этим поможете

мне надо найти слово в строке , символы в котором идут в строгом возрастании их кодов, если таких слов несколько, найти последнее их них. Так вот как найти последнее?
вот мой код, он полностью рабочий, только вот выводит первое , а не последнее их них


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
#define _CRT_SECURE_NO_WARNINGS 
#include <iostream> 
#include <cstring> 
using namespace std;
 
int main(){
    char *str = new char[301];
    cout << "Enter the string" << endl;
    cin.getline(str, 301);
    cout << "You entered: " << str << endl << "Search words" << endl;
    char *pch = strtok(str, " ,.-");
    int i = 0;
    while (pch != NULL){
        if ((pch[i] > pch[i + 1]) || (pch[i + 1] == NULL)){
            if (pch[i + 1] != NULL) {
                i = i + 1;
                continue;
            }
            int t = pch;
            cout << pch << endl;
        }
        else{
            i = 0;
            pch = strtok(NULL, " ,.-");
        }
    }
    return 0;
}
0
Dimension
595 / 463 / 223
Регистрация: 08.04.2014
Сообщений: 1,710
11.12.2015, 20:34
а может вы не будете мне садится на шею и сами что-нибудь сделайте?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.12.2015, 20:34
Помогаю со студенческими работами здесь

Как выделить последнее слово в строке
Напишите как это сделать

Как выделить строке последнее слово?
Вот нужно в последнем слове строки определить количество букв. Окей, я понимаю, как создать цикл, чтобы проверялось каждое слово начиная с...

Как удалить первое и последнее слово в строке
Подскажите, пожалуйста, как можно удалить первое и последнее слово в строке. причем вводятся строка слов и вводится массив с...

В заданной строке поменять последнее слово и слово с указанным номером
В строке нужно поменять последнее слово и слово,номер которого указывается(если слова с таким номером нет,то строка не изменяется)

Напечатать отдельными строками первое и последнее слово строки
4. Ввести с клавиатуры строку символов. Напечатать отдельными строками первое и последнее слово. Прошу, как можно скорей помочь в...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru