Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
snezhok@
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 45
#1

Удаление из строки слов, длина которых меньше заданной - C++

28.12.2013, 14:05. Просмотров 890. Ответов 4
Метки нет (Все метки)

Удалить из строки слова,длина которых меньше заданной,решите пожалуйста,за ранее спасибо)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.12.2013, 14:05     Удаление из строки слов, длина которых меньше заданной
Посмотрите здесь:

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

Вывести все слова из строки длина которых меньше заданной - C++
Составить программу посимвольной обработки,без всяких функций из strin.h(!!!), с помощью puts и gets для такой задачи: Вывести все слова...

Определить количество слов в строке, длина которых меньше заданного числа К - C++
Помогите пожалуйста с задачкой... ПЛИЗ... Дана строка текста, в которой слова разделены пробелами. Необходимо: - определить...

Сформировать стек всех слов, длина которых меньше либо равна 5 - C++
Помогите с программой на c++. Дан текст, состоящий не менее чем из 7 слов. Сформировать стек всех слов, длина которых меньше либо равна 5.

Если длина строки меньше заданной, то повторить ввод - C++
есть массив из длины 21 елемент, надо зделать проверку, если длина > заданой повторить ввод. #include <string> #include <iostream> ...

Напечатать все строки, длина которых меньше заданного числа - C++
Прошу помочь с небольшой задачкой: Работа с текстовыми файлами. Дан текстовый файл. Напечатать все строки, длина которых меньше...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
volotomon
1 / 1 / 0
Регистрация: 09.06.2013
Сообщений: 10
28.12.2013, 19:56     Удаление из строки слов, длина которых меньше заданной #2
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
//delete word length small zadanoy
#include <iostream>
#include <string>
using namespace std;
 
int main()
{
    string words;
    int length;
    cout << "enter words:\n";
    getline(cin, words);
    cout << "enter length:\n";
    cin >> length;
    int wlen = words.length();
    int space_position = -1, numder_letter = 0;
    for(int j = 0; j < wlen; j++)
    {
        numder_letter++;
        if(words.at(j) == ' ')
        {
            numder_letter--;           //minus space
            if(numder_letter < length)
            {
                words.erase(space_position + 1, numder_letter);
                wlen = words.length();
                j = space_position + 1;
            }
            numder_letter = 0;
            space_position = j;
        }
        if(j == wlen - 1)
        {
            if(numder_letter < length)
            {
                words.erase(space_position + 1, numder_letter);
            }
        }
    }
    cout << words << endl;
    return 0;
}
Работает только если слова разделены пробелом.
MicM
821 / 488 / 90
Регистрация: 29.12.2009
Сообщений: 1,097
Завершенные тесты: 1
28.12.2013, 20:28     Удаление из строки слов, длина которых меньше заданной #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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#include <iostream>
#include <string>
#include <cctype>
using std::string;
using std::cout;
using std::cin;
using std::endl;
 
int main()
{
    string str("ab abc abcdefghi abcd abcdef abc abcd abcdefg a ab abcdefg abcdef abcdefghijk");
    int n;
    cout <<str <<endl;
    cout <<"Length: ";
    cin >> n;
    unsigned int i = 0;
    string tmp;
    while (i<str.length())
    {
        if (isalpha(str[i]))
        {
            tmp.erase(0,tmp.size());
            while (i<str.length() && isalpha(str[i]))
            {
                tmp.append (1,str[i]);
                ++i;
            }
            if (tmp.size()<n)
            {
                str.erase(i-tmp.size(),tmp.size());
                i-=tmp.size();
            }
        }
        else ++i;
    }
    i = 0;
    while (i<str.length()-1)
    {
        if (str[i]==' ' && str[i+1]==' ')
            str.erase (i,1);
        else ++i;
    }
    cout <<str <<endl;
    return 0;
}
XRoy
852 / 702 / 217
Регистрация: 15.04.2013
Сообщений: 2,047
Записей в блоге: 5
28.12.2013, 21:22     Удаление из строки слов, длина которых меньше заданной #4
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
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
int main(int argc, char *argv[])
{
    string str ("avdblk lkdnglkfnb nglfnblfgngl rgmdkmdgjvndnvk dnvkdfjnvk njbfnjn ndfjknbjkfn ngjkrdnbkjdnkjbnfkdjn gnjngkjrnkdb lkdnbklfnblfnkl dnnjgn nngndlnbljgf nkbndlnblk");
    string subline, output;
    unsigned int length;
    stringstream split(str);
    cout << "Length: ";
    cin >> length;
 
    output.clear();
    while (split >> subline)
        if (subline.length() >= length)
            output.append(subline).append(" ");
            
    cout << output << endl;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.12.2013, 16:43     Удаление из строки слов, длина которых меньше заданной
Еще ссылки по теме:

Перепишите из входного файла в выходной только те строки, длина которых меньше 70 - C++
Помогите пожалуйста с решением задачки. Перепишите из входного файла в выходной только те строки, длина которых меньше 70. Строки...

Удалить из строки все слова, длина которых меньше пяти символов - C++
Доброго времени суток, условие в заголовке. Возможно ли добавить символ к строке? #include &lt;iostream&gt; #include &lt;string&gt; #include...

Вывести на консоль те строки, длина которых меньше (больше) средней, а также длину. - C++
Собственно вот проблема..Мне помогали писать данную программу но она что-то все равно не работает. Она просто тупо зависает. Может кто...

Вывод слов из файла длина которых больше N - C++
Есть файл текстовый: rez.txt в нём находятся слова : raz dvas trisz chetirez seven eleven abra Вот написанная мною...

Сформировать предложение из слов заданной длины, в которых нет перевернутой заданной подстроки, но есть сама - C++
Дан массив слов и подстрока. Сформировать предложение из слов заданной длины, в которых нет перевернутой заданной подстроки, но есть сама...

Проверить, чтобы длина строки файла была не меньше двух символов - C++
Помогите пожалуйста решить. Текст в файле: имя пользователя. Проверить ,чтобы длина строки ббыла не меньше...


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

Или воспользуйтесь поиском по форуму:
snezhok@
0 / 0 / 0
Регистрация: 12.09.2013
Сообщений: 45
29.12.2013, 16:43  [ТС]     Удаление из строки слов, длина которых меньше заданной #5
Всем большое спасибо
Yandex
Объявления
29.12.2013, 16:43     Удаление из строки слов, длина которых меньше заданной
Ответ Создать тему
Опции темы

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