Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.55/11: Рейтинг темы: голосов - 11, средняя оценка - 4.55
0 / 0 / 0
Регистрация: 03.11.2020
Сообщений: 48

Заменить символы с английской раскладки на русскую и наоборот

18.01.2021, 21:59. Показов 2541. Ответов 5

Студворк — интернет-сервис помощи студентам
к примеру "vfvf" = "мама". пользователь вводит текст с клавиатуры и задает режим преобразования (с англ раскладки на русскую или наоборот). после выбора режима заменить буквы и символы, которые используются в англ раскладке, на соответственные буквы и символы русской раскладке. символы, которые совпадают, оставить без изменений.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.01.2021, 21:59
Ответы с готовыми решениями:

Замена символов с английской раскладки на русскую
Как заменить набранные пользователем текст с английской раскладки на русский? Например, заменить 'vfvf' на 'мама'. Символ '[' на 'х'. ...

Смена раскладки символов с английской на русскую и наоборот
В общем, делаю что-то вроде метода шифровки при котором различные символы при нажатии на кнопку, сменяются на символы противоположной...

символы английской раскладки в русскую
суть программы в замене символов английской раскладки в русскую в строке. то есть если есть строка "ghbdtn" она должна стать...

5
Заблокирован
18.01.2021, 23:49
как самый примитивный вариант,
в данном примере переводятся только буквенные англ. символы. (остальное попробуйте сами добавить)

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
41
42
43
44
45
46
47
#include <iostream>
#include <map>
std::map<char,char> meng;
std::map<char,char> mrus;
void eng_to_rus(const char* src, char * dest)
{
    while((*src)!='\0')
   {
       *dest = meng[*src];
      ++dest; ++src;
   }
   *dest='\0';
}
void rus_to_eng(const char* src, char * dest)
{
    while((*src)!='\0')
   {
       *dest = mrus[*src];
      ++dest; ++src;
   }
    *dest='\0';
}
const char _eng[] = "qwertyuiopasdfghjklzxcvbnm\0";
const char _rus[] = "йцукенгшщзфывапролдячсмить\0";
 
 
int main()
{
   // формирование карт перевода
    const char * eptr= &_eng[0], *rptr=&_rus[0];
    while((*eptr)!='\0' || (*rptr)!='\0')
    {
       meng[*eptr] = *rptr;
       mrus[*rptr] = *eptr;
       ++eptr; ++rptr;
    }
 
    // код тестировки
    char eng_text[] = "vfvf\0";
    char * buf = new char[255];
    eng_to_rus(eng_text, buf);
    std::cout << buf<<std::endl;
    rus_to_eng(buf, buf);
    std::cout << buf<<std::endl;
    delete [] buf;
    return 0;
}
1
 Аватар для Laborant666
208 / 101 / 20
Регистрация: 30.06.2020
Сообщений: 848
18.01.2021, 23:51
fidarova, нет бы в поиске на форуме полазить. Или спуститься вниз в пункт "похожие темы"
Замена символов с английской раскладки на русскую
Смена раскладки символов с английской на русскую и наоборот
0
0 / 0 / 0
Регистрация: 03.11.2020
Сообщений: 48
19.01.2021, 00:00  [ТС]
Цитата Сообщение от Laborant666 Посмотреть сообщение
Замена символов с английской раскладки на русскую
я смотрела) первый метод - не работает, второй на языке Си. Способ со второй ссылки я не понимаю, но спасибо

Добавлено через 2 минуты
Цитата Сообщение от SmallEvil Посмотреть сообщение
#include <map>
std::map<char,char> meng;
std::map<char,char> mrus;
спасибо большое а это можно как-то без <map> сделать? просто не разрешают пользоваться библиотеками, которые еще не изучали
0
Заблокирован
19.01.2021, 00:19
Лучший ответ Сообщение было отмечено fidarova как решение

Решение

fidarova, можно
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <iostream>
#include <cstring>
 
const char _eng[] = "qwertyuiopasdfghjklzxcvbnm\0";
const char _rus[] = "йцукенгшщзфывапролдячсмить\0";
void eng_to_rus(const char* src, char * dest)
{
    int i, size=std::strlen(_eng);
   while((*src)!='\0')
   {
    for (i = 0; i<size; ++i)
      {
        if (*src==_eng[i])
            {
                *dest = _rus[i];
                break;
            }
      }
      ++dest; ++src;
   }
   *dest='\0';
}
void rus_to_eng(const char* src, char * dest)
{
    int i, size=std::strlen(_rus);
   while((*src)!='\0')
   {
    for (i = 0; i<size; ++i)
      {
        if (*src==_rus[i])
            {
                *dest = _eng[i];
                break;
            }
      }
      ++dest; ++src;
   }
   *dest='\0';
}
 
 
 
int main()
{
 
    char eng_text[] = "vfvf\0";
    char * buf = new char[255];
    eng_to_rus(eng_text, buf);
    std::cout << buf<<std::endl;
    rus_to_eng(buf, buf);
    std::cout << buf<<std::endl;
    delete [] buf;
    return 0;
}
1
0 / 0 / 0
Регистрация: 03.11.2020
Сообщений: 48
19.01.2021, 14:05  [ТС]
Цитата Сообщение от SmallEvil Посмотреть сообщение
fidarova, можно
спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.01.2021, 14:05
Помогаю со студенческими работами здесь

Перевод текста с английской раскладки на русскую
Помогите пожалуста Как перевод текста с английской раскладки на русскую

Шифрование английской раскладки
Привет это я опять! Помогите решить вопрос с шифрованием слова, в шифровании я не разбираюсь, но мне надо например, q1w2e3r4t5 зашифровать,...

Создать массив со всеми буквами английской раскладки с последующей их перестановкой
Привет! Помогите создать массив со всеми буквами английской раскладки с последующей их перемешкой (random) и выводом. Заранее спасибо!

Автоматический сброс раскладки на русскую в Mozilla Firefox
Операционная система Ubuntu 18.04.4 LTS, браузер Mozilla Firefox for Ubuntu canonical-1.0 74.0 (64-битный). Проблема достаточно тонкая,...

Смена раскладки на русскую при установке фокуса на textbox
Добрый день! Подскажите, как принудительно менять раскладку на русскую каждый раз, когда устанавливается фокус на textbox1?


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru