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

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

Войти
Регистрация
Восстановить пароль
 
Marrry
2 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 108
#1

Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй - C++

15.02.2013, 21:53. Просмотров 625. Ответов 3
Метки нет (Все метки)

Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым совпал с одним из символов второй. Вывести первую строку, исключив из нее слово, в которое входит этот символ. Вторая строка пробелами не разделена.
На [CPP]помогите сделать пожалуйста!

Добавлено через 1 час 2 минуты
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
#include <iostream>
#include <string>
int main()
{
    using namespace std;
 
    string s1, s2;
    cout << "Pervaya stroka:\t"; getline(cin, s1);
    cout << "Vtoraya stroka:\t"; getline(cin, s2);
 
    size_t found = s1.find_first_of(s2);
    if(found != string::npos)
    {
        cout << "Poziciya:\t" << found << endl;
 
        size_t beg = s1.find_last_of(' ', found);
        size_t end = s1.find_first_of(' ', found);
 
        if(beg == string::npos) beg = 0;
 
        if(end == string::npos) end = s1.size();
        else if(beg == 0) end++;
 
        s1.erase(beg, end-beg);
 
        cout << "Rezul'tat:\t" << s1 << endl;
    }
    else cout << "Sovpadenii net.\n";
 
    return 0;
кажется этот код работает неправильно
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.02.2013, 21:53     Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй
Посмотрите здесь:
C++ Определить местоположение символа первой строки, который первым не совпал с одним из символов второй строки
Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. C++
Строка: Определить местоположение символа первой строки,который первым совпал с одним из символов второй строки. C++
C++ Заданы 2 строки. Определить местоположение символа первой строки, который первым не совпал с одним из символов второй
C++ Определить местоположение символа первой строки совпавшего с одним из символов второй
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки C++
C++ Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать три символа второй строки к первой
C++ Сгенерировать две произвольные строки и определить, является ли какое-либо слово первой строки частью второй строки
C++ Необходимо определить длину каждой строки, определить сколько символив первой и второй строки совпадают
Добавить к первой строке 5 символов второй строки C++
C++ (Ошибка)Находим первый символ строки 1,который не совпадает ни с одним символом из строки 2
Добавить в конец первой строки, последние n2-n1 слов второй строки C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
16.02.2013, 02:37     Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй #2
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#include <iostream>
#include <list>
#include <cstring>
#include <string>
 
int main()
{
    std::string word, resline;
    std::list<std::string> line1, line2;
 
    std::cout << "Put 1-st line: ";
    while (std::cin >> word) {
        line1.push_back(word);
        if (std::cin.get() == '\n')
            break;
    }
 
    std::cout << "Put 2-nd line: ";
    while (std::cin >> word) {
        line2.push_back(word);
        if (std::cin.get() == '\n')
            break;
    }
 
    std::cout << "\n1) ";
    for (std::list<std::string>::const_iterator i = line1.begin(); i != line1.end(); ++i)
        std::cout << *i << ' ';
 
    std::cout << "\n2) ";
    for (std::list<std::string>::const_iterator i = line2.begin(); i != line2.end(); ++i) {
        resline += *i;
        std::cout << *i;
    }
    std::cout << "\n\n";
 
    std::list<std::string>::iterator i = line1.begin();
    for ( ; i != line1.end(); ++i) {
        if (strpbrk(i->c_str(), resline.c_str()))
            break;
    }
 
    if (i != line1.end()) {
        std::cout << "Word '" << *i << "' will be erased\n\n";
        line1.erase(i);
    }
    else {
        std::cout << "No found\n\n";
    }
 
    std::cout << "Result: ";
    for (std::list<std::string>::const_iterator i = line1.begin(); i != line1.end(); ++i)
        std::cout << *i << ' ';
    std::cout << "\n";
 
    return 0;
}
Marrry
2 / 2 / 0
Регистрация: 15.02.2013
Сообщений: 108
16.02.2013, 08:42  [ТС]     Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй #3
почему I не читает?
xtorne21st
интересующийся
303 / 274 / 19
Регистрация: 25.09.2010
Сообщений: 1,056
16.02.2013, 14:40     Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй #4
Цитата Сообщение от Marrry Посмотреть сообщение
почему I не читает?
Сообщение об ошибке в студию
Yandex
Объявления
16.02.2013, 14:40     Строки. Определить местоположение символа первой строки, который первым совпал с одним из символов второй
Ответ Создать тему
Опции темы

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