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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Структура для даты http://www.cyberforum.ru/cpp-beginners/thread1059357.html
Здравствуйте, у меня возникла проблема, заключается она в дате. Подробнее: в программе у меня есть структура, в ней есть дата вида: 11.11.2011 . Ну, конечно, string и все дела, все нормально, но в...
C++ Найти ошибку. Динамические массивы Всем доброго времени суток! Прошу помочь найти ошибку в коде и разобраться с динамическими массивами =) Текст задания: Строка таблицы данных содержит следующую информацию о владельцах авто:... http://www.cyberforum.ru/cpp-beginners/thread1059339.html
C++ Сделать запрос по максимальному проценту
Пишу курсовую, помогите с одним участком кода #include <iostream> #include <ctype.h> #include <conio.h> #include <fstream> #include <windows.h> #include <string.h> #include <locale.h> using...
C++ Алгоритм решения рекурсивных функций
Цель: Прошу подсказать алгоритм решения рекурсивной функции. Задача:
C++ Проверка папки на пустоту http://www.cyberforum.ru/cpp-beginners/thread1059285.html
Так как времени не было на это задание, пришлось сделать так: BOOL IsEmpty(const wchar_t* sPath) { HANDLE hFind; //дескриптор файла для "пробега" WIN32_FIND_DATAW FindFileData; //структура...
C++ Обращение к методам базового класса (есть ли подобие base/super?) Понятное дело, что можно обращаться к методам базового класса так: BaseClass::hisMethod(); Однако это зависимость от названия класса. Не очень это как-то. В C# есть слово base, в Java super. Есть ли... подробнее

Показать сообщение отдельно
volotomon
1 / 1 / 0
Регистрация: 09.06.2013
Сообщений: 10
28.12.2013, 19:56
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;
}
Работает только если слова разделены пробелом.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru