#include <iostream>
#include <string>
#include <map>
#include <codecvt>
#include <locale>
int main( )
{
setlocale( LC_ALL, "Russian" ) ;
std:: map < wchar_t ,wchar_t > CharMap = {
{ L'а' ,L'А' } , { L'б' ,L'Б' } , { L'в' ,L'В' } , { L'г' ,L'Г' } , { L'д' ,L'Д' } , { L'е' ,L'Е' } ,
{ L'ё' ,L'Ё' } , { L'ж' ,L'Ж' } , { L'з' ,L'З' } , { L'и' ,L'И' } , { L'й' ,L'Й' } , { L'к' ,L'К' } ,
{ L'л' ,L'Л' } , { L'м' ,L'М' } , { L'н' ,L'Н' } , { L'о' ,L'О' } , { L'п' ,L'П' } , { L'р' ,L'Р' } ,
{ L'с' ,L'С' } , { L'т' ,L'Т' } , { L'у' ,L'У' } , { L'ф' ,L'Ф' } , { L'х' ,L'Х' } , { L'ц' ,L'Ц' } ,
{ L'ч' ,L'Ч' } , { L'ш' ,L'Ш' } , { L'щ' ,L'Щ' } , { L'ъ' ,L'Ъ' } , { L'ы' ,L'Ы' } , { L'ь' ,L'Ь' } ,
{ L'э' ,L'Э' } , { L'ю' ,L'Ю' } , { L'я' ,L'Я' }
} ;
std:: wstring vvod = L"Мама мыла 2/5 рамы" ;
std:: cout << "Здравствуйте, это чисто тестовая прога для замены букв." << std:: endl ;
std:: cout << "Введите пожалуйста фразу, буквы в которой так необходимо заменить." << std:: endl ;
// посимвольная замена букв согласно карте
for ( auto && i: vvod) if ( CharMap.count ( i) ) i = CharMap[ i] ;
// преобразование широких символов в обычные
std:: wstring_convert < std:: codecvt_utf8 < wchar_t >> conv;
std:: string u8str;
for ( const auto & c: vvod) u8str + = conv.to_bytes ( c) ;
std:: cout << "Введённая Вами фраза переведена в высокий регистр." << std:: endl ;
std:: cout << "Теперь она выглядит вот так: " << u8str << std:: endl ;
system ( "pause" ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8Y29kZWN2dD4KI2luY2x1ZGUgPGxvY2FsZT4KCmludCBtYWluKCkKewogICAgc2V0bG9jYWxlKExDX0FMTCwgIlJ1c3NpYW4iKTsKICAgIHN0ZDo6bWFwPHdjaGFyX3Qsd2NoYXJfdD4gQ2hhck1hcCA9IHsKICAgICAge0wn0LAnLEwn0JAnfSwge0wn0LEnLEwn0JEnfSwge0wn0LInLEwn0JInfSwge0wn0LMnLEwn0JMnfSwge0wn0LQnLEwn0JQnfSwge0wn0LUnLEwn0JUnfSwKICAgICAge0wn0ZEnLEwn0IEnfSwge0wn0LYnLEwn0JYnfSwge0wn0LcnLEwn0JcnfSwge0wn0LgnLEwn0JgnfSwge0wn0LknLEwn0JknfSwge0wn0LonLEwn0JonfSwKICAgICAge0wn0LsnLEwn0JsnfSwge0wn0LwnLEwn0JwnfSwge0wn0L0nLEwn0J0nfSwge0wn0L4nLEwn0J4nfSwge0wn0L8nLEwn0J8nfSwge0wn0YAnLEwn0KAnfSwKICAgICAge0wn0YEnLEwn0KEnfSwge0wn0YInLEwn0KInfSwge0wn0YMnLEwn0KMnfSwge0wn0YQnLEwn0KQnfSwge0wn0YUnLEwn0KUnfSwge0wn0YYnLEwn0KYnfSwKICAgICAge0wn0YcnLEwn0KcnfSwge0wn0YgnLEwn0KgnfSwge0wn0YknLEwn0KknfSwge0wn0YonLEwn0KonfSwge0wn0YsnLEwn0KsnfSwge0wn0YwnLEwn0KwnfSwKICAgICAge0wn0Y0nLEwn0K0nfSwge0wn0Y4nLEwn0K4nfSwge0wn0Y8nLEwn0K8nfQogICAgfTsKCiAgICBzdGQ6OndzdHJpbmcgdnZvZCA9IEwi0JzQsNC80LAg0LzRi9C70LAgMi81INGA0LDQvNGLIjsgCgogICAgc3RkOjpjb3V0IDw8ICLQl9C00YDQsNCy0YHRgtCy0YPQudGC0LUsINGN0YLQviDRh9C40YHRgtC+INGC0LXRgdGC0L7QstCw0Y8g0L/RgNC+0LPQsCDQtNC70Y8g0LfQsNC80LXQvdGLINCx0YPQutCyLiI8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgItCS0LLQtdC00LjRgtC1INC/0L7QttCw0LvRg9C50YHRgtCwINGE0YDQsNC30YMsINCx0YPQutCy0Ysg0LIg0LrQvtGC0L7RgNC+0Lkg0YLQsNC6INC90LXQvtCx0YXQvtC00LjQvNC+INC30LDQvNC10L3QuNGC0YwuIiA8PCBzdGQ6OmVuZGw7CgogICAgLy8g0L/QvtGB0LjQvNCy0L7Qu9GM0L3QsNGPINC30LDQvNC10L3QsCDQsdGD0LrQsiDRgdC+0LPQu9Cw0YHQvdC+INC60LDRgNGC0LUgICAgCiAgICBmb3IoYXV0byAmJmk6dnZvZCkgaWYgKENoYXJNYXAuY291bnQoaSkpIGkgPSBDaGFyTWFwW2ldOwoKICAgIC8vINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40LUg0YjQuNGA0L7QutC40YUg0YHQuNC80LLQvtC70L7QsiDQsiDQvtCx0YvRh9C90YvQtSAgIAogICAgc3RkOjp3c3RyaW5nX2NvbnZlcnQ8c3RkOjpjb2RlY3Z0X3V0Zjg8d2NoYXJfdD4+IGNvbnY7CiAgICBzdGQ6OnN0cmluZyB1OHN0cjsKICAgIGZvcihjb25zdCBhdXRvICZjOnZ2b2QpIHU4c3RyICs9IGNvbnYudG9fYnl0ZXMoYyk7ICAgICAgICAKICAgIAogICAgc3RkOjpjb3V0IDw8ICAi0JLQstC10LTRkdC90L3QsNGPINCS0LDQvNC4INGE0YDQsNC30LAg0L/QtdGA0LXQstC10LTQtdC90LAg0LIg0LLRi9GB0L7QutC40Lkg0YDQtdCz0LjRgdGC0YAuIiA8PCBzdGQ6OmVuZGw7CiAgICBzdGQ6OmNvdXQgPDwgICLQotC10L/QtdGA0Ywg0L7QvdCwINCy0YvQs9C70Y/QtNC40YIg0LLQvtGCINGC0LDQujogIiA8PCB1OHN0ciA8PCBzdGQ6OmVuZGw7CgogICAgc3lzdGVtICgicGF1c2UiKTsKICAgIHJldHVybiAwOwp9