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

строка с ипользыванием string - C++

Восстановить пароль Регистрация
 
kampotya
7 / 4 / 1
Регистрация: 21.02.2013
Сообщений: 23
24.03.2013, 19:02     строка с ипользыванием string #1
Дано предложение. Напечатать все его слова, отличные от слова привет. Решить задачу с помощью типа (класса) string.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4378 / 3221 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
25.03.2013, 10:41     строка с ипользыванием string #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
#include <iostream>
#include <string>
#include <iterator>
#include <vector>
#include <algorithm>
 
using namespace std;
 
int main() {
   
   istream_iterator<string> iit( cin );
   istream_iterator<string> eit;
 
   ostream_iterator<string> oit( cout, " " );
 
   vector<string> v;
   
   copy( iit, eit, back_inserter(v) );
   
   copy_if( v.begin(), v.end(), oit, [](string& s)->bool { return s!="привет";});
   
   return 0;
}
Будут вопросы - спрашивайте
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
25.03.2013, 12:12     строка с ипользыванием string #3
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
#include <cctype>
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>
 
typedef std::vector<std::string> StringVector;
 
StringVector split(const std::string& src, const std::string& delim)
{
    StringVector dest;
 
    std::string::size_type i = src.find_first_not_of(delim);
    while(i != std::string::npos)
    {
        const std::string::size_type j = src.find_first_of(delim, i);
        if(j == std::string::npos)
        {
            dest.push_back(src.substr(i));
            return dest;
        }
 
        const std::string::size_type n = j - i;
        dest.push_back(src.substr(i, n));
        i = src.find_first_not_of(delim, i + n);
    }
 
    return dest;
}
 
std::string lower_case(std::string s)
{
    std::transform(s.begin(), s.end(), s.begin(), tolower);
    return s;
}
 
int main()
{
    std::string str;
    std::cout << "input string: ";
    std::getline(std::cin, str);
 
    StringVector words = split(str, " ,.:?!\t");
    for(StringVector::size_type i = 0; i < words.size(); ++i)
        if(lower_case(words[i]) != "hello")
            std::cout << words[i] << '\n';
}
alsav22
5282 / 4801 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
25.03.2013, 17:36     строка с ипользыванием string #4
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 <iostream>
#include <cstdlib>
#include <string>
#include <sstream>
using namespace std;
 
 
int main()
{
    setlocale(0, "");
    
    string str = "Напечатать все слова, отличные от слова привет";
    
    stringstream s;
    s << str;
    
    while (!s.eof())
    {
        string temp;
        s >> temp;
        if (temp != "привет") cout << temp << endl;
    }
    
    cout << endl;
    system("pause");
    return 0;
}
Миниатюры
строка с ипользыванием string  
Yandex
Объявления
25.03.2013, 17:36     строка с ипользыванием string
Ответ Создать тему
Опции темы

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