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

Разбить исходную строку на две подстроки - C++

Восстановить пароль Регистрация
 
STRj
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 31
27.03.2014, 19:31     Разбить исходную строку на две подстроки #1
Здравствуйте форумчане, пытаюсь решить задание с использованием строк, но не выходит. Учителя временно нету, хотелось бы услышать ваш совет.
 Комментарий модератора 
Задания надо переписывать в тело сообщения!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.03.2014, 19:31     Разбить исходную строку на две подстроки
Посмотрите здесь:

Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. C++
C++ Разбить строку string на подстроки
C++ Разделить строку на две подстроки.
Написать функцию, которая формирует строку, состоящую только из цифр, входящих в исходную строку C++
Разделить исходную строку на несколько строк длины K C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
STRj
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 31
28.03.2014, 11:19  [ТС]     Разбить исходную строку на две подстроки #2
Дана строка символов, состоящая из произвольного текста, слова разделены пробелами. Разбить исходную строку на две подстроки, причем первая длиной k символов (если k-ю позицию попадает слово, то его следует отнести ко второй строке.)
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
28.03.2014, 11:51     Разбить исходную строку на две подстроки #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
int main(int argc, char* argv[])
{
    std::string str = "asdfasdgfds dsgads gdas ghadfs hads";
    int k = 0;
    cin>>k;
    
    int pos = k;
    if(k < str.length() && str[k-1] != ' ')
    {
        for(int i = k-1; i >=0; i--)
        {
            if(str[i] == ' ')
            {
                break;
            }
            else
            {
                pos --;
            }
        }
    }
    std::string sub1, sub2;
    if(pos < str.length())
    {
        sub1 = str.substr(0, pos);
        sub2 = str.substr(pos, str.length());
    }
    else
    {
        sub1 = str;
    }
    cout<<sub1<<endl;
    cout<<sub2<<endl;
    system("pause");
    return 0;
}
STRj
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 31
29.03.2014, 12:42  [ТС]     Разбить исходную строку на две подстроки #4
aLarman, а возможно другое решение? Не используя length,pos.
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
29.03.2014, 17:19     Разбить исходную строку на две подстроки #5
ну со стрингом можно работать как с массивом, можно руками искать все и копировать из 1ой строки в другие
STRj
0 / 0 / 0
Регистрация: 05.02.2014
Сообщений: 31
05.04.2014, 16:11  [ТС]     Разбить исходную строку на две подстроки #6
Задача актуальна.
IrineK
Заблокирован
05.04.2014, 16:16     Разбить исходную строку на две подстроки #7
Дайте свое решение или хотя бы наброски, чтобы можно было понять как вам помочь.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.04.2014, 16:26     Разбить исходную строку на две подстроки
Еще ссылки по теме:

C++ нужно разбить исходную строку на две подстроки , причём первая длинной k
Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор C++
C++ Разбить исходную строку на две подстроки, причем первая длиной k символов

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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
05.04.2014, 16:26     Разбить исходную строку на две подстроки #8
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от STRj Посмотреть сообщение
а возможно другое решение? Не используя length,pos.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <string>
#include <sstream>
#include <iostream>
using namespace std;
 
int main()
{
    string str = "word1 word2 word3";
    stringstream ss(str);
    while(ss>>str)
        cout<<str<<endl;
    return 0;
}
http://codepad.org/DKSNigcH
Output:
word1
word2
word3
Yandex
Объявления
05.04.2014, 16:26     Разбить исходную строку на две подстроки
Ответ Создать тему
Опции темы

Текущее время: 09:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru