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

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

Восстановить пароль Регистрация
 
Доломитев
Сообщений: n/a
04.01.2011, 00:36     Строки Слов #1
Ввести с клавиатуры строку символов, состоящую из слов, разделенных между собой одиночными пробелами.
Если в строке оказалось не менее 2 слов, то поменять местами первое и последнее слова;
если же слово только одно, удалить из него все заглавные латинские буквы.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.01.2011, 00:36     Строки Слов
Посмотрите здесь:

C++ удаление слов из строки
C++ Строки. Подсчет различных слов
Подсчет слов и перевод строки C++
C++ удаление слов из строки
C++ Удаление слов из строки
C++ Вывод слов из строки
C++ Строки: подсчитать количество слов
Строки.Найти количество слов? C++
C++ Строки. Удаление слов
C++ Обработка слов строки без массива слов
Определить количество слов строки C++
C++ Вывод слов из строки

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2841 / 1778 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
04.01.2011, 00:48     Строки Слов #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
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#include <cctype>
 
void show(std::string str)
{
    std::cout << str << ' ';
}
 
int main()
{
    std::string str;
    std::cout << "\n\nString -> ";
    getline(std::cin, str);
 
    std::istringstream ist(str);
    std::vector<std::string> vec;
    while(ist >> str)
        vec.push_back(str);
 
    if(vec.size() >= 2)
        std::swap(vec[0], vec[vec.size() - 1]);
 
    else if(vec.size() == 1)
    {
        for(size_t i = 0; i < vec[0].length(); ++i)
            if(isupper(vec[0][i]))
            {
                vec[0].erase(i, 1);
                --i;
            }
    }
 
    std::cout << "\n\nResult string -> ";
    std::for_each(vec.begin(), vec.end(), show);
    return 0;
}
Yandex
Объявления
04.01.2011, 00:48     Строки Слов
Ответ Создать тему
Опции темы

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