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

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

Войти
Регистрация
Восстановить пароль
 
sladkaja27
0 / 0 / 0
Регистрация: 28.11.2010
Сообщений: 13
#1

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

28.11.2010, 21:41. Просмотров 308. Ответов 2
Метки нет (Все метки)

1) Дана строка. Удалить из строки все двойные символы.

2) Дана строка - предложение. Упорядочить все слова в предложении по их длине.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.11.2010, 21:41     Строки...
Посмотрите здесь:

C++ Поменять местами максимальный элемент каждой строки с первым элементом соответствующей строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ForEveR
Модератор
Эксперт С++
7958 / 4720 / 319
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
28.11.2010, 22:49     Строки... #2
sladkaja27, 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
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
 
int main()
{
    const std::string delims=".,:?! ";
    std::string Str;
    std::getline(std::cin, Str);
    for(std::string::iterator It=Str.begin(); It!=Str.end(); ++It)
    {
        if(delims.find(*It)!=std::string::npos)
           *It=' ';
    }
    std::vector<std::string> Vec;
    std::string tmp;
    std::istringstream ist(Str);
    while(ist>>tmp)
        Vec.push_back(tmp);
    for(size_t i=0; i<Vec.size(); ++i)
    {
        for(size_t j=i; j<Vec.size(); ++j)
        {
             if(Vec[i].size() > Vec[j].size())
             {
                 std::string tmp=Vec[i];
                 Vec[i]=Vec[j];
                 Vec[j]=tmp;
             }
        }
     }
     for(size_t i=0; i<Vec.size(); ++i)
         std::cout<<Vec[i]<<' ';
     std::cout<<'\n';
     return 0;
}
asics
Freelance
Эксперт C++
2846 / 1783 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
28.11.2010, 23:00     Строки... #3
1.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <string>
#include <iostream>
 
int main()
{
    std::string str("wtfllahahakksosmm");
    for(int i = 0; i < str.size(); ++i)
    {
        if(str[i] == str[i+1])
        {
            str.erase(i, 2);
        }
    }
    std::cout << str;
    return 0;
}
Yandex
Объявления
28.11.2010, 23:00     Строки...
Ответ Создать тему
Опции темы

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