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

Удалить слова из заданной строки где количество букв меньше заданного числа

05.12.2018, 14:04. Показов 4563. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Думал сделать как то простенько. Суть программы ввести число, ввести строку. Если в одном из слов букв меньше чем веденное число то это слово удалить. Пишу на dev c++
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 <cstring>
 
using namespace std;
 
int main ()
{
//SetConsoleCP(1251);
//SetConsoleOutputCP(1251); пробовал сделать русский шрифт но все равно выдает смайлики...
 
    int i,j,x, chislo;
//setlocale(LC_CTYPE,"rus");
char string [] = "";
cout<<"vvedite stroku:";
gets(string);
chislo =7;
j = 1 ;
cout<<string<<endl;
cout<<string<<endl;
for(i=0;i!=chislo;i++)
    {
        cout<<string<<endl;
    if (string[i]== ' ')
        if (i-j<chislo)
        
        {cout<<string<<endl;
            x=i;
            for(x;x!=j;x--)
            {
                string [x]=' ';
                j=i;
                cout<<string<<endl;
            }
        }
    
    }cout<<string<<endl;
  cin.get();
  return 0;
  
}
много cout'ов сделал для проверки ввода
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.12.2018, 14:04
Ответы с готовыми решениями:

Удалить из строки слова, длина которых меньше заданной
Удалить из строки слова, длина которых меньше заданной. PREDICATES razd(string,integer,string) check(string,integer,string) ...

Из заданной строки удалить слова, длина которых меньше указанной.
Помогите написать программу которая из заданной символьной строки удаляет слова длина которых меньше указанной пользователем.

Удалить в файле слова, в которых количество согласных букв меньше количества гласных
Помогите, пожалуйста! Файл input.dat содержит несколько строк текста слова в тексте могут разделяться пробелами и знаками препинания....

9
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 27
05.12.2018, 14:09  [ТС]
вот пример работы программы
Миниатюры
Удалить слова из заданной строки где количество букв меньше заданного числа  
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
05.12.2018, 14:14
Лучший ответ Сообщение было отмечено voldemarushka как решение

Решение

Если ты хочешь, чтобы было проще, нужно пользоваться абстракциями, которые предоставляет стандартная библиотека языка C++. Например:
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
#include <algorithm>
#include <iostream>
#include <sstream>
#include <string>
 
int main() {
 
    std::string text = "I love you, my mom and my dad!";
 
    std::size_t size = 0;
    std::cout << "Please, enter the size of word: ";
    std::cin >> size;
 
    std::istringstream iss(text);
    std::string word;
 
    while (iss >> word) {
 
        word.erase(std::remove_if(word.begin(), word.end(), [](char ch) { return ::ispunct(ch); }), word.end());
 
        if (word.size() < size) {
 
            text.erase(text.find(word), word.size());
 
        }
 
    }
 
    std::cout << "Result: " << text << '\n';
 
    system("PAUSE");
    return 0;
 
}
Единственное, что тут лично меня не устраивает - после удаления слова остаются "висячие" пробелы.
1
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
05.12.2018, 14:24
voldemarushka, какие знаки препинания в строке, чем строка заканчивается ?
0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 27
05.12.2018, 14:29  [ТС]
что-то не много не понятно и ругается на { return ::ispunct(ch); }
пишет
19 97 C:\Users\Guldan\Documents\main.cpp [Warning] lambda expressions only available with -std=c++11 or -std=gnu++11

а пробелы решил оставить что бы увидеть как именно программа заменяет слова

Добавлено через 2 минуты
знаки препинания не учитывал заканчиваеться видимо на /0
0
05.12.2018, 14:33

Не по теме:

Цитата Сообщение от voldemarushka Посмотреть сообщение
знаки препинания не учитывал заканчиваеться видимо на /0
Вы наверное не разобрали, в чём был вопрос. сформулирую по-другому. строка заканчивается точкой ? в строке есть запятые или ещё какие-нибудь знаки препинания ?

или у Вас просто набор слов без всяких знаков ?

0
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 27
05.12.2018, 14:39  [ТС]
просто набор символов
0
7438 / 5030 / 2892
Регистрация: 18.12.2017
Сообщений: 15,692
05.12.2018, 14:43
Лучший ответ Сообщение было отмечено voldemarushka как решение

Решение

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
#include <iostream> 
#include <string> 
#include <sstream> 
using namespace std;
 
int main()
{    
    setlocale( LC_ALL,"Russian" );
    size_t K;
    string s, s1, word;
    cout << "String:\n";
    getline(cin, s);
    
    cout << "K="; cin >>K;  
    
    stringstream words(s);
    while (words >> word)
        {
        if (word.size()>=K) s1+=word+" ";        
        }
        
    cout <<s1<<endl;
    
system("pause");
return 0;
}
1
0 / 0 / 0
Регистрация: 02.03.2015
Сообщений: 27
05.12.2018, 14:46  [ТС]
всем огромное спасибо
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
05.12.2018, 15:56
Цитата Сообщение от voldemarushka Посмотреть сообщение
что-то не много не понятно
Цитата Сообщение от voldemarushka Посмотреть сообщение
пишет
Потому что нужно включить стандарт 11+ в своей IDE.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.12.2018, 15:56
Помогаю со студенческими работами здесь

Из заданной строки символов удалить слова, длина которых меньше указанной пользователем
Из заданной строки символов удалить слова, длина которых меньше указанной пользователем int n, i=1, j=0, k=0; char str ; ...

Определить количество слов в тексте, и вывести слова, которые по длине меньше заданного числа
Помогите написать прогу... Не работает..;) /*Дан текст, в котором слова разделяются пробелами, * в конце стоит точка. Определить...

В заданной строке вывести все слова, имеющие наименьшее количество букв и удалить начинающиеся с маленькой буквы
С клавиатуры вводиться строка, написать программу 1) которая выводит на экран слова, которые имеют наименьшее количество букв 2) удаляет...

Строки (из заданной последовательности слов удалить слова, содержащие числа) )
Из заданной последовательности слов удалить слова, содержащие числа.

Удалить из матрицы строки, где все числа, средние арифметические цифр которых больше 6, меньше всех простых
Здравствуйте! Очень нужна помощь с задачей: Вводятся размеры матрицы, состоящей из целых чисел, и её элементы. С этой матрицей произвести...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru