Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 90

Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него

17.01.2014, 00:25. Показов 4156. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
8.5.1.

Помогите, пожалуйста, решить задачу в С++.

Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
17.01.2014, 00:25
Ответы с готовыми решениями:

Разделение строки на две части до первого вхождения заданного символа и после него
Функция - Parse(s,t). Назначение - разделение строки s на две части: до первого вхождения символа t и после него. как можно сделать ее...

Функция разбивает строку на две части: до первого вхождения заданного символа и после него
Программу написал но не очень понятно как без цстринг (а это в условии, что нельзя пользоваться cstring). В самоучителе про цстринг...

Разделение строки s на две части: до первого вхождения символа t и после него
Назначение: разделение строки s на две части: до первого вхождения символа t и после него :cry::cry::cry:

9
 Аватар для MicM
840 / 498 / 325
Регистрация: 29.12.2009
Сообщений: 1,106
17.01.2014, 11:40
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
#include <iostream>
#include <cstring>
 
int main()
{
    const int maxLength = 128;
    char str[maxLength],part1[maxLength],part2[maxLength];
    std::cout <<"String: ";
    std::cin.getline(str,maxLength);
    char symbol;
    std::cout <<"Symbol: ";
    std::cin >> symbol;
    int i = 0;
    while (str[i]!=symbol)
        part1[i] = str[i++];
    part1[i] = str[i++];
    part1[i] = '\0';
    int part1Length = strlen(part1);
    while (str[i])
        part2[i-part1Length] = str[i++];
    part2[i-part1Length] = '\0';
    std::cout <<part1 <<'\n' <<part2 <<std::endl;
    return 0;
}
1
0 / 0 / 0
Регистрация: 28.06.2013
Сообщений: 90
17.01.2014, 21:57  [ТС]
Помогите, пожалуйста, решить задачу в С++.

Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него.
0
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
17.01.2014, 22:18
FrankyMO,
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
#include "stdafx.h"
#include <iostream>
#include<vector>
#include<iterator>
#include<string>
 
int main()
{
    std::string str;
    std::cout<<"Enter string:";
    std::getline(std::cin,str);
    std::cout<<"Enter symbol:";
    char sym;
    std::cin>>sym;
    std::vector <char> SymbolTo,SymbolAfter;
    int pos(-1);
    for(int i=0;str[i]!=sym;i++)
    {
        SymbolTo.push_back(str[i]);
        pos = i;
    }
    for(int i=pos + 2;i<str.length();i++)
        SymbolAfter.push_back(str[i]);
 
    std::copy(SymbolTo.begin(),SymbolTo.end(),std::ostream_iterator<char> (std::cout));
    std::cout<<std::endl;
    std::copy(SymbolAfter.begin(),SymbolAfter.end(),std::ostream_iterator<char> (std::cout));
    system("pause");
    return 0;
 
}
1
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
17.01.2014, 23:41
cooller_94, зачем здесь вектора? опять же, ИМХО
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
#include <algorithm>
#include <iostream>
#include <iterator>
#include <string>
 
int main()
{
    std::string userString;
    std::cout << "Input the string: " << std::endl;
    std::getline(std::cin, userString);
 
    char symbol;
    std::cout << "Symbol: ";
    std::cin >> symbol;
 
    size_t firstInsert(userString.find_first_of(symbol) + 1);
    std::cout << "First part of the string: " << std::endl;
    std::copy(userString.begin(), userString.begin() + firstInsert, std::ostream_iterator <char>(std::cout));
    std::cout << std::endl << "Second part of the string: " << std::endl;
    std::copy(userString.begin() + firstInsert, userString.end(), std::ostream_iterator <char>(std::cout));
    
    std::system("pause >> temp");
    return 0;
}
1
 Аватар для cooller
571 / 539 / 280
Регистрация: 25.12.2013
Сообщений: 1,456
17.01.2014, 23:49
Ev[G]eN, STL только начал осваивать) так что иногда не все идеально
0
17.01.2014, 23:52

Не по теме:

в любом случае - не воспринимайте как оскорбление

0
 Аватар для VaDiG
31 / 28 / 18
Регистрация: 13.01.2014
Сообщений: 63
18.01.2014, 03:04
FrankyMO,
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
#include <iostream>
#include <string>
 
using namespace std;
 
int main ()
{
    setlocale(0, "");
    string str, str2, str3, buf;
    
    cout << "Введите строку: ";
    getline(cin, str);
 
    cout << "Введите разделитель: ";
    getline(cin, buf);
    
    unsigned pos = str.find(buf);
    str2 = str.substr (0,pos);
    str3 = str.substr (pos); 
 
    cout << "Часть первая: " << str2 << "\nЧасть вторая: " << str3 << endl;
                                           
    system("pause");
    return 0;
}
1
Mobile Software Engineer
Эксперт С++
 Аватар для Ev[G]eN
5381 / 1585 / 956
Регистрация: 23.01.2011
Сообщений: 3,214
18.01.2014, 11:22
Цитата Сообщение от FrankyMO Посмотреть сообщение
до первого вхождения заданного символа
VaDiG,
Цитата Сообщение от VaDiG Посмотреть сообщение
string str, str2, str3, buf;
Цитата Сообщение от VaDiG Посмотреть сообщение
getline(cin, buf);
написано "символа"..зачем вводить целую строку?
0
 Аватар для VaDiG
31 / 28 / 18
Регистрация: 13.01.2014
Сообщений: 63
18.01.2014, 14:50
Цитата Сообщение от Ev[G]eN Посмотреть сообщение
VaDiG,

написано "символа"..зачем вводить целую строку?
так ты можешь ввести любой разделитель. никто тебе не мешает ввести символ и не заставляет вводить строку...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
18.01.2014, 14:50
Помогаю со студенческими работами здесь

Функция - Parse(s,t). Разделение строки s на две части: до первого вхождения символа t и после него
Функция - Parse(s,t). Разделение строки s на две части: до первого вхождения символа t и после него Нужно разработать два варианта...

Разбить строку на две части: до первого вхождения символа и после него
Подскажите с функцией. Использовать стандартные библиотеки при реализации функции нельзя. #include&lt;stdio.h&gt; ...

Разбить строку s на две части: до первого вхождения символа "с" и после него
разбить строку s на две части: до первого вхождения символа &quot;с&quot; и после него

написать программу которая для заданной строки s находит порядковые номера первого и последнего вхождения какого-то символа x.
1. написать программу которая для заданной строки s находит порядковые номера первого и последнего вхождения какого-то символа x. 2. Дана...

Поменять местами части строк до заданного символа и после него (без Copy)
Написал программу, которая меняет части строк до появления заданного символа и после. Нужна программа чтобы без использования &lt;copy&gt;,...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru