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

Удалить часть текста между словами,которые вводятся с клавиатуры - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Выручите массив http://www.cyberforum.ru/cpp-beginners/thread1008912.html
Даны целые числа a1,…, an. Если в данной последовательности ни одно четное число не расположено после нечетного, то получить все отрицательные члены последовательности, иначе—все положительные. Порядок следования чисел в обоих случаях заменяется на обратный.
C++ массив(наибольший и наименьший члены) Даны целые числа a1,…,a20. Наименьший член последовательности a1,…, a20 заменить целой частью среднего арифметического всех членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min(a1,…,a20) то заменить последний по порядку. а) наибольший и наименьший члены; http://www.cyberforum.ru/cpp-beginners/thread1008904.html
C++ В определенное количество времени менять цветные картинки
Мне нужна программка суть в которой будет в определенное количество времени менять цветные картинки. Это сложно осуществить?Кто поможет ? ВСЕМ КТО УДЕЛИЛИ НЕМНОГО СВОЕГО ВРЕМЕНИ МНЕ БОЛЬШОЕ СПАСИБО:)
C++ Automated Teller Machine
Написать программу моделирования ATM (Банкомат). Использование Банкомат, клиенты могут получить доступ к банковским счетам для того, чтобы заработать деньги снятие наличных, депозит, проверить свой ​​баланс счета. Ваша программа должна делать все операции, перечисленные выше и дополнительные ваши клиенты должны быть в состоянии изменить их имена пользователей. Помогите дописать прогу, не...
C++ Почему MessageBox пустой? (char *s <-> LPTSTR из "API - функции") http://www.cyberforum.ru/cpp-beginners/thread1008866.html
Пишу под WinCC 7.0, C-Script. На профильных форумах (WinCC), видимо, не сильны именно в С++ да и функция редкоиспользуемая попалась. Использую библиотечную функцию из ODK: Declaration BOOL PWRTPermissionToString ( LONG perm,
C++ Дано натуральное число. Определить значение наибольшей нечетной цифры в записи числа Дано натуральное число. Определить значение наибольшей нечетной цифры в записи числа. Помогите пожалуйста. подробнее

Показать сообщение отдельно
MrCath
7 / 7 / 1
Регистрация: 08.11.2012
Сообщений: 68
15.11.2013, 21:50     Удалить часть текста между словами,которые вводятся с клавиатуры
Пельмени пожарил, спс, что подождал)

Можно вот так:
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
46
47
48
49
50
51
52
53
54
55
#include <iostream>
#include <windows.h>
#include <string>
 
// функция нахождения индекса, где начинается кусок, который ты ищешь. Если его не найдено, то она вернет -1
int IndexOf(std::string text, std::string findtext)
{
    int find = -1;
 
    for(int i = 0; i < text.length(); ++i)
            if(text.substr(i, findtext.length()) == findtext)
            {
                find = i;
                break;
            }
 
    return find;
}
 
int main()
{
    //чтобы выводился русский текст нормально
    setlocale(LC_ALL, "rus");
 
    std::string text = "Мама долго мыла раму";
    std::string sStart, sEnd;
 
    //тут махинация с изменением CP, т.к. иначе программа не поймет русские буквы при вводе
    int CP = GetConsoleCP();
    SetConsoleCP(1251);
    std::cin >> sStart;
    std::cin >> sEnd;
    SetConsoleCP(CP);
 
    int start = IndexOf(text, sStart);
    int end = IndexOf(text, sEnd);
    
    if(start != -1 && end != -1)
    {
        start += sStart.length();
        
        //вырезаем
        int i;
        for(i = 0; end+i <= text.length(); ++i)
            text[start+i +1 /* +1 чтобы первый пробел остался */] = text[end+i];
 
        //выводим нужный нам кусок
        std::cout << text.substr(0, sStart.length() + 1 + sEnd.length()) << std::endl;
    }
    else
        std::cout << "Искомых слов не найдено !\n";
 
    system("pause");
    return 0;
}
При выводе вышло не очень красиво, но это лучше демонстрирует идею)

Цитата Сообщение от Merderik Посмотреть сообщение
учеба(
Кто кодит, а кто к пробнику ЕГЭ по русскому готовится)
 
Текущее время: 08:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru