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

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

Восстановить пароль Регистрация
 
Tinusha
 Аватар для Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
12.05.2012, 20:37     Разделить строку на две подстроки. #1
Доброго времени суток.. В задании необходимо разбить исходную строку на две подстроки, при этом первая длиной 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;
}
Помогите, пожалуйста, найти ошибки. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.05.2012, 20:37     Разделить строку на две подстроки.
Посмотрите здесь:

C++ Разделить массив на две части
Мне надо сделать поиск последнего вхождения подстроки s1 в строку s(с функцией LastPos, не strstr). В этом коде просто вхождение подстроки в строку. C++
C++ нужно разбить исходную строку на две подстроки , причём первая длинной k
Разбить строку на все "связные" подстроки. Получившиеся подстроки записать в вектор C++
C++ Разбить исходную строку на две подстроки
C++ Разбить исходную строку на две подстроки, причем первая длиной k символов
Разделить строку на две части C++
Разделить функцию на две C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Toshkarik
 Аватар для Toshkarik
1139 / 856 / 50
Регистрация: 03.08.2011
Сообщений: 2,381
Завершенные тесты: 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;
}
Tinusha
 Аватар для Tinusha
0 / 0 / 0
Регистрация: 28.10.2011
Сообщений: 23
15.05.2012, 18:50  [ТС]     Разделить строку на две подстроки. #3
Цитата Сообщение от Toshkarik Посмотреть сообщение
А если k-ый символ - последняя буква слова?
Да, наверно..
Yandex
Объявления
15.05.2012, 18:50     Разделить строку на две подстроки.
Ответ Создать тему
Опции темы

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