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

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

Войти
Регистрация
Восстановить пароль
 
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
#1

Функция разбивает строку на две части: до первого вхождения заданного символа и после него - C++

27.05.2013, 18:54. Просмотров 1033. Ответов 5
Метки нет (Все метки)

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

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
#include <string>
#include <iostream>
using namespace std;
int main()
{
string s1; 
char ch;   
cout<<"Vvedite stroku: "; 
getline(cin,s1);
cout<<"Vvedite simvol: "; 
cin>>ch;
int x=s1.find(ch);
cout<<"Vsya stroka: "<<s1<<endl; 
cout<<"Do simvola: "; 
for(int i=0;i<x;i++)
{
    cout<<s1[i];
}
cout<<endl;
cout<<"Posle simvola: ";
for(int i=x+1;i<s1.length();i++)
{
    cout<<s1[i];
}
cout<<endl;
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.05.2013, 18:54
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Функция разбивает строку на две части: до первого вхождения заданного символа и после него (C++):

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

Написать программу разбиения строки на две части: до первого вхождения заданного символа и после него - C++
8.5.1. Помогите, пожалуйста, решить задачу в С++. Написать программу разбиения строки на две части: до первого вхождения...

Функция, определяющая позицию самого первого вхождения заданного символа в исходную строку - C++
Прошу помочь решить задачки!:(очень нужно (Билет №25) Составить функцию, позволяющую определить позицию самого первого вхождения...

Функция, возвращающая номер самого правого вхождения заданного символа во введенную строку - C++
Нужна помощь в составлении программы: возвращающую номер самого правого вхождения заданного символа во введенную строку. Если символ не...

Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0 - C++
Дан символ C и строки S, S0. После каждого вхождения символа C в строку S вставить строку S0. Помогите пожалуйста с реализацией на Си

Определить позицию первого вхождения в заданную строку какого-либо символа - C++
Помогите составить процедуру, позволяющую определить позицию первого вхождения в заданную строку какого-либо символа из второй заданной...

5
zss
Модератор
Эксперт С++
6882 / 6444 / 2155
Регистрация: 18.12.2011
Сообщений: 16,938
Завершенные тесты: 1
27.05.2013, 19:11 #2
вместо find() используйте
C++
1
2
3
4
    for(int x=0;x<s1.length();x++)
    {
        if(s1[x]==ch)break;
    }
0
Warezovvv
9 / 9 / 2
Регистрация: 09.12.2012
Сообщений: 219
27.05.2013, 21:19  [ТС] #3
Цитата Сообщение от zss Посмотреть сообщение
вместо find() используйте
C++
1
2
3
4
    for(int x=0;x<s1.length();x++)
    {
        if(s1[x]==ch)break;
    }
Ок
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
#include <iostream>
#include <limits>
#include <locale>
 
using namespace std;
 
int main()
{
    const int size=100;
    int count,count2;
    setlocale(LC_ALL, "rus");
    char firstStr[size],ch;    
    cout<<"Введите строку: ";
    cin.getline(firstStr, size);
    cout<<"Введите символ ";
    cin>>ch;
    count = sizeof(firstStr);
    for(int x=0;x<count;x++)
    {
        if(firstStr[x]==ch)break;
        
    }
    count2=sizeof();
cout<<"Вся строка: "<<firstStr<<endl; 
//--------------------------------------------------
cout<<"Do simvola: "; 
for(int i=0;i<???;i++)
{
    cout<<firstStr[i];
}
cout<<endl;
cout<<"Posle simvola: ";
for(int i=???+1;i<???;i++)
{
    cout<<firstStr[i];
}
cout<<endl;
    return 0;
}
А как найти длину строки до символа и после? ??? - это и есть искомая величина

Добавлено через 1 час 6 минут
??? Подскажите пжлст
0
zss
Модератор
Эксперт С++
6882 / 6444 / 2155
Регистрация: 18.12.2011
Сообщений: 16,938
Завершенные тесты: 1
27.05.2013, 21:44 #4
x- это количество символов до искомого,
соответственно длина всей строки минус x равно длине остатка.
0
CriRo69
0 / 0 / 0
Регистрация: 01.04.2018
Сообщений: 1
01.04.2018, 18:40 #5
Можете помочь с лабораторными по С++??
0
Hitoku
Модератор
1676 / 1275 / 667
Регистрация: 28.10.2016
Сообщений: 4,149
Завершенные тесты: 4
01.04.2018, 19:44 #6
CriRo69, создавайте для каждого задания по теме, а там видно будет
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.04.2018, 19:44
Привет! Вот еще темы с ответами:

Процедура, позволяющая определить позицию первого вхождения в заданную строку какого-либо символа из второй - C++
Помогите составить процедуру, позволяющую определить позицию первого вхождения в заданную строку какого-либо символа из второй ...

Определить позицию первого вхождения в заданную строку какого-либо символа из второй заданной строки - C++
б) Даны две строки произвольного текста. Составить процедуру, позволяющую определить позицию первого вхождения в заданную строку...

Дан символ С и строки S, S0. После каждого вхождения символа С в строку S вставить S0 - C++
Дан символ С и строки S, S0. После каждого вхождения символа С в строку S вставить S0.

Даны строка S, символ C и строка S0. Необходимо после каждого вхождения символа C в строку S вставить строку S0 - C++
Есть код... string s, s0; char c; cout &lt;&lt; &quot;Введите строку s, s0 и символ c: &quot;; getline(cin, s); ...


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

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

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