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

Строки Си++ - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.67
Nikitich369
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
14.03.2014, 13:41     Строки Си++ #1
Помогите пожалуйста !
Есть строка
Например:
string s="aa,bb; ss"
Нужно сделать так что бы программа находила символ "," удаляла его, а все что находится правее до символа ";" перемещало (вырезало) в другую строку (в нашем случае это "bb")
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.03.2014, 13:41     Строки Си++
Посмотрите здесь:

Дан безразмерный массив.Вставить количество символов каждой строки вначало этой же строки. C++
C++ Вывести строки файла, после строки добавляя, сколько раз в ней встретилось слово
Строки. Вывести на печать то слово этой строки, которое по алфавиту предшествует всем другим C++
C++ Если строки одинаковы, объединить две строки, исключив из второй первые десять символов
C++ Переместить вниз строки массива, в которых сумма элементов строки меньше ноля
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Fene4ka_
84 / 84 / 16
Регистрация: 24.01.2014
Сообщений: 1,142
14.03.2014, 13:45     Строки Си++ #2
C++
1
2
3
4
5
6
7
8
9
10
string s="aa,bb; ss";
string s2;
bool flag = false;
for (int i = 0; i < s.length(); i++)
{
if (flag == true)
s2+=s[i];
if (s[i] == ',')
flag = true;
}
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.03.2014, 13:54     Строки Си++ #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
int main(int argc, char* argv[])
{
    string s="aa,bb; ss";
    string::size_type x = s.find(',');
    string s2 = s.substr(x+1, s.find(';')-x-1);
    cout<<s2<<endl;
    system("pause");
    return 0;
}
Nikitich369
0 / 0 / 0
Регистрация: 27.05.2013
Сообщений: 12
14.03.2014, 13:57  [ТС]     Строки Си++ #4
Cпасибо вам большое !
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
14.03.2014, 14:05     Строки Си++ #5
один из вариантов
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 <string.h>
#include <string>
 
using namespace std;
int main()
{
    string s ="aa,bb; ss";
    string buf;
    int   i = 0;
 
 
        while(s[i]!= ',') i++;
 
        i++;
 
        while(s[i] != ';'){
        buf.push_back(s[i]);
        i++;
        }
 
    cout << buf;
    return 0;
}
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.03.2014, 14:55     Строки Си++ #6
jurok_85, а Вас не смущает что
Цитата Сообщение от jurok_85 Посмотреть сообщение
C++
1
while(s[i]!= ',') i++;
потенциально бесконечный цикл?
jurok_85
226 / 209 / 70
Регистрация: 21.02.2013
Сообщений: 494
14.03.2014, 15:03     Строки Си++ #7
aLarman,
ну а если знать, что ',' встретится?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.03.2014, 15:27     Строки Си++
Еще ссылки по теме:

C++ В динамической матрице целых чисел добавить строки после строки, содержащей простое число
C++ Определить, верно ли утверждение: сумма элементов каждой i-й строки матрицы больше суммы (i-1)-й строки
C++ Определить, верно ли утверждение: сумма элементов каждой i-ой строки матрицы больше суммы (i-1)-ой строки

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

Или воспользуйтесь поиском по форуму:
aLarman
636 / 557 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
14.03.2014, 15:27     Строки Си++ #8
Цитата Сообщение от jurok_85 Посмотреть сообщение
ну а если знать, что ',' встретится?
а Вы можете 100% утверждать об этом? я в этом сомневаюсь, просто таких конструкций следует избегать, но использовать их все же можно(этого ведь никто не запрещает)
Yandex
Объявления
14.03.2014, 15:27     Строки Си++
Ответ Создать тему
Опции темы

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