Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
Sukkub
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 5
1

Удаление третьего слова в строке C++

22.12.2016, 22:25. Просмотров 892. Ответов 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
#include <iostream>
#include <conio.h>
#include <cstring>
#include <ctype.h>
using namespace std;
int main()
{
    int en, beg, w,q,r=0;
 char s[30];
 cout<<"vvedite stroky";
 cin>>s[30];
for (int i=0; i<strlen(s);i++ )
{
    if (s[i]==' ')
    {
    r++;
    while (r=2)
    {
        s[i]=s[i-1];
    }
}}
 getline(cin, s);
 getch ();
 return 0;
}
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.12.2016, 22:25
Ответы с готовыми решениями:

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

В строке подсчитать сумму кодов символов каждого слова. Слова в строке разделены пробелами
нашел функцию для вычисления суммы кодов символов на форуме, но как переделать её под динамический...

Как организовать удаление слова в строке, если оно содержит менее 2-х букв "а"?
как организовать удаление слова в строке,если оно содержит менее 2-х букв а? Добавлено через 2...

Считать из файла, начиная с третьего слова
Имеется текстовый файл, в нем первые 2 числа - это размеры матрицы, затем перенос строки, а далее...

Перед каждой буквой третьего слова поставить '/'. Лишние символы (с 81-ого) отбросить
Задание : Перед каждой буквой третьего слова поставить '/'. Лишние символы (с 81-ого) отбросить....

3
ANGEL1
3 / 3 / 4
Регистрация: 04.10.2016
Сообщений: 25
Завершенные тесты: 1
22.12.2016, 23:07 2
Используй вместо cin>>s[30] , gets(s).
1
Fixer_84
1409 / 887 / 794
Регистрация: 30.04.2016
Сообщений: 3,040
22.12.2016, 23:23 3
Лучший ответ Сообщение было отмечено Sukkub как решение

Решение

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

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
#include <iostream>
#include <string>
 
using namespace std;
 
int main()
{
    string s;
    int x, y, k;
    cout << "Введите строку:" << endl;
    getline(cin, s);
    k = 0;
    for (int i = 0; s[i]; i++)
    {
        if (isblank(s[i]))
            k++;
        if (k == 1)
            x = i;
        if (k == 2)
            y = i;
    }
    s.erase(x + 1, y - x);
    cout << "Cтрока после удаления третьего слова:" << endl;
    cout << s << endl;
    system("pause");
    return 0;
}
1
Sukkub
0 / 0 / 0
Регистрация: 22.12.2016
Сообщений: 5
22.12.2016, 23:33  [ТС] 4
Большое спасибо. Помогло
0
22.12.2016, 23:33
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.12.2016, 23:33

Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один))
добрый день. помогите, пожалуйста понять мои ошибки в работе. Мне нужно написать программу со...

Вывести слова в строке ДО слова, у которого одинаковые первая и последняя буквы
С клавиатуры вводится строка, надо вывести все слова до слова, у которого одинаковые первая и...

Написать функцию, меняющую первую букву каждого слова в строке на номер слова.
Написать функцию, меняющую первую букву каждого слова в строке на номер слова. Продемонстрировать...


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

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

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