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

Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке - C++

Восстановить пароль Регистрация
 
марианна0728
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 10
10.07.2011, 15:37     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #1
с клавиатуры вводится строка. выберите из нее все буквы от А(а) до I(i)(строчные преобразуйте прописные) и отсортируйте их в алфавитном порядке
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2011, 15:37     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке
Посмотрите здесь:

C++ Заменить все прописные буквы на строчные
C++ Изменить строчные буквы на прописные
C++ Выберите из строки все буквы от Q (q) до Z (z) и отсортируйте их в алфавитном порядке
Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке C++
C++ Перевести строчные буквы строки в прописные
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.07.2011, 16:11     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #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
#include <iostream>
#include <string>
#include <algorithm>
#include <cstring>
 
bool predicate(std::string::value_type c)
{
    static const std::string letters = "ABCDEFGHI";
 
    return letters.find(c) == std::string::npos;
}
 
int main()
{
    std::string input_string;
 
    std::cout << "Enter string: ";
    std::cin >> input_string;
 
    std::transform(input_string.begin(), input_string.end(), input_string.begin(), toupper);
    input_string.erase(std::remove_if(input_string.begin(), input_string.end(), predicate), input_string.end());
    std::sort(input_string.begin(), input_string.end());
 
    std::cout << "Result: " << input_string << std::endl;
 
    return 0;
}
Добавлено через 3 минуты
 Комментарий модератора 
А за дубли буду наказывать!
марианна0728
0 / 0 / 0
Регистрация: 10.07.2011
Сообщений: 10
10.07.2011, 19:57  [ТС]     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #3
silent_1991, обожаю вас
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
10.07.2011, 21:30     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #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
#include <string>
#include <iostream>
#include <cctype>
#include <algorithm>
#include <boost/foreach.hpp>
 
int main() {
 
    setlocale(LC_ALL, "rus");
 
    std::string str;
 
    std::cout << "Введите строку: ";
    std::cin >> str;
 
    BOOST_FOREACH(char &ch, str) {
 
        ch = tolower(ch);
    }
 
    std::sort(str.begin(), str.end());
 
    std::cout << str;
 
    return 0;
}
neske
1419 / 786 / 55
Регистрация: 26.03.2010
Сообщений: 2,694
10.07.2011, 21:32     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #5
zuq, вы забыли -
Цитата Сообщение от марианна0728 Посмотреть сообщение
выберите из нее все буквы от А(а) до I(i)
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
10.07.2011, 21:32     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #6
zuq, а как же "выберите из нее все буквы от А(а) до I(i)"?
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
10.07.2011, 22:01     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #7
neske, точно - спасибо, сейчас исправлю_)

Добавлено через 28 минут
аааа... Все - у меня кончились идеи по реализации с BOOST_FOREACH
Может кто подскажет?
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
10.07.2011, 22:23     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #8
zuq, после сортировки можно с помощью STL:
C++
1
2
3
4
str.erase( std::upper_bound(str.begin(), str.end(), 'I'),
        str.end());
str.erase( str.begin(),
        std::lower_bound(str.begin(), str.end(), 'A'));
Но, разумеется, работы для sort больше, чем если бы сначала удалили ненужное.
Ну или можно наоборот, не удалять ненужную, а скопировать нужную часть.
И это... У меня прописные буквы, так что нужна toupper()
zuq
 Аватар для zuq
95 / 95 / 2
Регистрация: 10.04.2011
Сообщений: 256
10.07.2011, 22:25     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
А почему я не могу редактировать свои сообщения?? Реализовать в foreach не получилось. Использовал тот же алгоритм что и silent_1991...
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
#include <string>
#include <iostream>
#include <cctype>
#include <algorithm>
#include <boost/foreach.hpp>
 
bool qwerty(const std::string::value_type str) {
 
    std::string findString = "ABCDEFGHI";
 
    if(findString.find(str) == -1) return true;
    else return false;
}
 
int main() {
 
    setlocale(LC_ALL, "rus");
    std::string str;
 
    std::cout << "Введите строку: ";
    std::cin >> str;
 
    BOOST_FOREACH(char &ch, str) {
 
        ch = toupper(ch);
    }
 
    str.erase(remove_if(str.begin(), str.end(), qwerty), str.end());
    std::sort(str.begin(), str.end());
    std::cout << str;
 
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.07.2011, 22:29     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке
Еще ссылки по теме:

C++ Русский текст, преобразование (прописные буквы в строчные)
Процедура, преобразующая все прописные русские буквы строки в строчные. C++
Поменять все строчные буквы на прописные, прописные на строчные C++

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

Или воспользуйтесь поиском по форуму:
grizlik78
Эксперт C++
 Аватар для grizlik78
1882 / 1414 / 101
Регистрация: 29.05.2011
Сообщений: 2,958
10.07.2011, 22:29     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке #10
Цитата Сообщение от zuq Посмотреть сообщение
А почему я не могу редактировать свои сообщения??
Потому, что время на редактирование ограничено 10-ю минутами.
Yandex
Объявления
10.07.2011, 22:29     Строчные буквы строки преобразуйте в прописные и отсортируйте в алфавитном порядке
Ответ Создать тему
Опции темы

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