Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Голиб
0 / 0 / 0
Регистрация: 18.10.2016
Сообщений: 50
1

Преобразовать в строке строчные (малые) буквы русского алфавита в прописные (заглавные)

15.06.2017, 16:14. Просмотров 422. Ответов 7
Метки нет (Все метки)

Написать программу, которая в введенной с клавиатуры строке преобразует строчные (малые) буквы русского алфавита в прописные (заглавные).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.06.2017, 16:14
Ответы с готовыми решениями:

Преобразовать в строке все строчные буквы (как латинские, так и русские) в прописные, а прописные — в строчные
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и...

Преобразовать все строчные буквы(как латинские, так и русские) в прописные, а прописные в строчные
Дана строка. Преобразовать в ней все строчные буквы(как латинские, так и...

Преобразовать в строке все прописные латинские буквы в строчные.
Дана строка. Преобразовать в ней все прописные латинские буквы в строчные.(с...

Строка: Преобразовать в заданной пользователем строке все строчные буквы в прописные...
Дана строка. Преобразовать в ней все строчные буквы (как латинские, так и...

В алфавитной строке перевести строчные буквы в заглавные и заглавные в строчные
В заданой алфавитной строке перевести строчные буквы в заглавные и заглавные в...

7
MrGluck
Модератор
Эксперт CЭксперт С++
8086 / 4939 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
15.06.2017, 16:21 2
C++
1
2
3
4
5
6
7
8
9
10
11
12
#include <algorithm>
#include <cctype>
#include <iostream>
#include <iterator>
#include <string>
 
int main()
{
    std::string str;
    std::getline(std::cin, str);
    std::transform(str.begin(), str.end(), std::ostream_iterator<char>(std::cout), ::toupper);
}
0
Ferrari F1
791 / 521 / 156
Регистрация: 27.01.2015
Сообщений: 3,025
Записей в блоге: 1
Завершенные тесты: 1
15.06.2017, 16:34 3
MrGluck, а toupper в глобале находится?
я думал, если cctype подключен, то в std должно быть?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8086 / 4939 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
15.06.2017, 16:38 4
Ferrari F1, да, в глобальном пространстве имён.
std::toupper в <locale>
http://www.cplusplus.com/reference/locale/tolower/
0
Antikl
с++
298 / 289 / 155
Регистрация: 15.07.2015
Сообщений: 1,553
Завершенные тесты: 6
15.06.2017, 16:42 5
Цитата Сообщение от MrGluck Посмотреть сообщение
std::toupper
а с русскими буквами работает?
0
MrGluck
Модератор
Эксперт CЭксперт С++
8086 / 4939 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
15.06.2017, 16:44 6
Цитата Сообщение от Antikl Посмотреть сообщение
а с русскими буквами работает?
Нет, для учёта локали нужна версия std::toupper из <locale>.

Не заметил, что ТС русские буквы нужны были.
1
Antikl
с++
298 / 289 / 155
Регистрация: 15.07.2015
Сообщений: 1,553
Завершенные тесты: 6
15.06.2017, 16:48 7
Цитата Сообщение от MrGluck Посмотреть сообщение
Не заметил
а я уже думал что у меня не работает VS Studia, а я не знал что есть для локали есть эта функция так что
0
Fixer_84
1049 / 659 / 651
Регистрация: 30.04.2016
Сообщений: 2,234
15.06.2017, 21:09 8
Голиб, здравствуйте! Вот код. Только почему-то текст самих сообщений не делается русским...Может кто-нибудь подскажет почему?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, ".866");
    cout << "Enter a string [RUS]:" << endl;
    wstring str;
    getline(wcin, str);
    int i = 0;
    while (str[i])
    {
        str[i] = towupper(str[i]);
        i++;
    }
    wcout << "Target string: " << str << endl;
    system("pause");
    return 0;
}
Добавлено через 9 минут
Сам нашел ошибку. Теперь все работает:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
#include <string>
#include <windows.h> //Шрифт консоли - Lucida Console
 
using namespace std;
 
int main()
{
    setlocale(LC_ALL, ".866");
    wcout << "Введите строку [RUS]:" << endl;
    wstring str;
    getline(wcin, str);
    int i = 0;
    while (str[i])
    {
        str[i] = towupper(str[i]);
        i++;
    }
    wcout << "Искомая строка: " << str << endl;
    system("pause");
    return 0;
}
0
15.06.2017, 21:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.06.2017, 21:09

Преобразовать в данной строке все строчные буквы (как латинские, так и русские) в прописные
55. Дана строка. Преобразовать в ней все строчные буквы (как латин- ские, так и...

Преобразовать строчные буквы в заглавные
Дана строка содержащая текст, записанный строчными буквами. Получить в другой...

Русские строчные буквы преобразовать в прописные
Есть ли функция, что будет преобразовывать прописные русские буквы в строчные...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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