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

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

Войти
Регистрация
Восстановить пароль
 
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
#1

Разделить строку на две подстроки. - C++

12.05.2012, 20:37. Просмотров 996. Ответов 2
Метки нет (Все метки)

Доброго времени суток.. В задании необходимо разбить исходную строку на две подстроки, при этом первая длиной k символов (если на k-ю позицию попадает слово, то его следует отнести ко второй строке).
Вот, что вышло у меня:
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
#include "stdafx.h"
#include <iostream>
#include <cstdlib>
#include <string.h>
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL,"rus");
    char string[]="\0";
    char substring[2][20]={NULL};
    int k=0, s;
    //äåëèì ñòðîêó Г*Г* 2 ïîäñòðîêè
    for(int i=0; i<=1; i++)
    {
            substring[i]=string[k];
            if(string[k+1]==' ' || string[k+1]=='\0')
            {
                s++;
            }
            if(s==2)
            {
                s=0;
                k++; 
                break;
            }
        
    }
    for(i=0; i<=2; i++)
    {
        puts (string)
 
        puts (substring)
    }
    return 0;
}
Помогите, пожалуйста, найти ошибки. Заранее спасибо.
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 20:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Разделить строку на две подстроки. (C++):

Как разделить строку на подстроки - C++
Здравствуйте, возник вопрос по парсингу строк в c++... Как разделить строку на подстроки по ид ? При этом элементов должно быть только два,...

Не могу разделить строку на подстроки - C++
Видимо я совсем дебил, но я не понимаю в чем проблема и почему не работает. Числовое выражение начинается с &quot;=&quot;, например, &quot;=345+57&quot;, чтобы...

Разбить исходную строку на две подстроки - C++
Здравствуйте форумчане, пытаюсь решить задание с использованием строк, но не выходит. Учителя временно нету, хотелось бы услышать ваш...

Разделить строку на две части - C++
По индивидуальному заданию создать функцию для обработки символьных строк. За образец брать библиотечные функции обработки строк языка C,...

Разделить строку на две части - C++
дана задача.есть переменная char = россия. надо разделить её на две части так,чтобы получилось что a = рос,b=сия

Разбить исходную строку на две подстроки, причем первая длиной k символов - C++
Дана строка, состоящая из слов, разделенных пробелами. Разбить исходную строку на две подстроки, причем первая длиной k ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Toshkarik
1141 / 858 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
12.05.2012, 21:08 #2
А если k-ый символ - последняя буква слова?

Добавлено через 16 минут
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 <cstdlib>
#include <cstring>
 
 
int main() {
   std::size_t k = 5;
   
   char str[ 256 ] = "some str";
   
   char str1[ 256 ] = { 0 },
        str2[ 256 ] = { 0 };
   
   while ( str[ k ] != ' ' && k > 0 )
      k--;
 
   strncpy( str1, str, k );
   
   strcpy( str2, str + k );
   
   std::cout << str1 << std::endl << str2 << std::endl;
 
   std::cout << str << std::endl << str1 << std::endl << str2 << std::endl;
 
   return 0;
}
0
Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
15.05.2012, 18:50  [ТС] #3
Цитата Сообщение от Toshkarik Посмотреть сообщение
А если k-ый символ - последняя буква слова?
Да, наверно..
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.05.2012, 18:50
Привет! Вот еще темы с ответами:

нужно разбить исходную строку на две подстроки , причём первая длинной k - C++
Вообщем нужно разбить исходную строку на две подстроки , причём первая длинной k. Вот код который я написал: #include &lt;iostream.h&gt; ...

Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. - C++
#include &lt;stdio.h&gt; int count_of_substrings(string s, string s1){ int start = 0; int count = 0; int pos = 0; ...

Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор - C++
Нужно разбить минимальную строку на &quot;связные&quot; подстроки Например: строка Mas: &quot;qwe&quot; нужны подстроки: &quot;q&quot;,&quot;w&quot;,&quot;e&quot;,&quot;qw&quot;,&quot;we&quot;,&quot;qwe&quot;....

Разделить функцию на две - C++
Выполнил контрольную. Все работает как надо. Но потом заметил, что пропустил в условии &quot;минимум 2 функции&quot;. Помогите без потерь...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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