С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
1 / 1 / 0
Регистрация: 04.12.2019
Сообщений: 42
1

Удалить последнее слово из заданной строки используя функцию

12.01.2021, 13:09. Показов 1874. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Само задание: удалить последнее слово из заданной строки используя функцию. Тип функции – void, удаление выполнять в исходной строке.

Программа не работает, не могу понять в чем ошибка

Код:

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
#include <iostream>
 
using namespace std;
 
void deletelastword(string words)
{
    int len;
    int end;
    len=words.length();
    int pos;
    string a=" ";
    
    pos=words.rfind(a);
   
    words.erase(pos,'\0');
    cout<<pos;
}
 
 
 
int main()
{
    string text;
    cout<<"Enter the text"<<endl;
    getline(cin,text);
    deletelastword(text);
    cout<<text;
    
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.01.2021, 13:09
Ответы с готовыми решениями:

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

В заданной строке текста, удалить первое и последнее слово
В заданной строке текста, удалить первое и последнее слово

В заданной строке текста удалить первое и последнее слово
В заданной строке текста удалить первое и последнее слово.

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

3
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
12.01.2021, 13:26 2
zavizha,
C++
5
void deletelastword(string &words)
C++
15
words.erase(pos, len-pos);
1
"C with Classes"
2022 / 1404 / 523
Регистрация: 16.08.2014
Сообщений: 5,884
Записей в блоге: 1
12.01.2021, 13:30 3
Лучший ответ Сообщение было отмечено zavizha как решение

Решение

zavizha,
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
#include <string>
#include <iostream>
 
using namespace std;
 
void deletelastword(string & words)
{
    int len;
    int end;
    len=words.length();
    int pos;
    string a=" ";
    
    pos=words.rfind(a);
   
    if (pos != std::string::npos)
    {
        words.erase(pos);
    }
}
 
 
 
int main()
{
    string text;
    cout<<"Enter the text"<<endl;
    getline(cin,text);
    deletelastword(text);
    cout<<text;
    
}
только код не учитывает случай когда в строке одно слово, либо слова разделены не пробелами
1
Эксперт CЭксперт С++
5118 / 4558 / 854
Регистрация: 07.10.2015
Сообщений: 9,462
12.01.2021, 13:32 4
Я бы еще добавил для случая отсутствия пробелов:
C++
13
14
15
16
    pos = words.rfind(a);
 
    if (pos == -1) //или if (pos == string::npos)
        pos = 0;
1
12.01.2021, 13:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.01.2021, 13:32
Помогаю со студенческими работами здесь

Удалить последнее слово из строки
Искал что-то подобное-не нашел. Собственно задача:преобразовать текстовый файл,удалив последнее...

Удалить из строки последнее слово
Дана стока в которой написаны через пробел слова. Нужно удалить последнее слово и вывести индес...

Удалить последнее слово строки
№1 Ввести строку. Удалить последнее слово. №2 Ввести строку. Найти длину самого длинного слова....

Удалить из строки последнее слово
Есть задачи на vba но я в них почти не разбираюсь может кто поможет написать! 1.Удалить из...

Удалить из строки первое и последнее слово
пожалуйста,помогите!? Заданы 2 строки, состоящие из слов, разделенных пробелами. Скопировать пять...

Удалить из строки предпоследнее и последнее слово
Добрый день, помогите решить следующую задачку: Вводится строка произвольного текста. ...


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru