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

Перевод букв в цифры по таблице

21.09.2016, 05:26. Показов 28805. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет
Не так давно занялся C++, передо мной встала задача перевести 21 букву в 21 цифру по следующей таблице:

_ = 0
A = 1
B = 2
C = 3
D = 4
E = 5
F = 6
G = 7
H = 8
I = 9
J = 10
K = 11
L = 12
M = 13
N = 14
O = 15
P = 16
Q = 17
R = 18
S = 19
T = 20
U = 21
V = 22
W = 23
X = 24
Y = 25
Z = 26

То есть, ввожу я например: "ABCDDCB..." и получаю "1234432..."
Знаю, что через цикл и string, но хотелось бы увидеть пример кода от форумчан =), а то что-то пока не срастается.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
21.09.2016, 05:26
Ответы с готовыми решениями:

Перевод букв в цифры.(Поправить код)
Само задание выглядит так: В заданной строке заменить все прописные латинские буквы десятичными целыми числами по правилу: A->1,...

Извлечь последние цифры из поля в таблице
Как извлечь последние цифры из поля(ADOQuery.fieldbyname('Адрес').asstring) в таблице? Надписи имеют такой формат: ул. Луначерского, 15.

Как удалить все одинаковые цифры в таблице
Здравствуйте, думаю для вас это легкий вопрос. Подскажите пожалуйста, как удалить скажем цифру Ноль во всей таблице, но так чтобы она...

12
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
21.09.2016, 06:35
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
#include <iostream>
#include <string>
 
using namespace std;
 
 
 
int main() {
 
    string userString;
    char ch = ' ';
 
    cout
        << "Please, enter a string: ";
    getline(cin, userString);
 
    for (unsigned int i = 0; i < userString.size(); i++) {
 
        ch = userString.at(i);
 
        if (ch == ' ') {
 
            cout
                << 0
                << " ";
 
        } else {
 
            cout
                << ch - 'A' + 1
                << " ";
 
        }
 
    }
    cout
        << endl;
 
    system("PAUSE");
    return 0;
 
}
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 06:36  [ТС]
Спасибо, разобрался
А вот как сделать так, чтоб если число более 26, то нужно отнять от него 27 столько раз, пока оно не станет меньше 27?
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
21.09.2016, 06:44
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
#include <iostream>
#include <string>
 
using namespace std;
 
 
 
int main() {
 
    unsigned int number = 0;
 
    cout
        << "Please, enter a number: ";
    cin
        >> number;
 
    cout
        << number % 27
        << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
 
}
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 06:48  [ТС]
Спасибо, но я чуть другое имел ввиду
Допустим у меня 21 число (z1-z21)
И если какие-то из них > 26, то надо привести их к <= 26
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
21.09.2016, 07:03
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 <string>
 
using namespace std;
 
unsigned int conversion(unsigned int value);
 
int main() {
 
    unsigned int number = 0;
 
    cout
        << "Please, enter a number: ";
    cin
        >> number;
 
    if (number > 26) {
 
        cout
            << conversion(number);
 
    } else {
 
        cout
            << number;
 
    }
    cout
        << endl;
 
    system("PAUSE");
    return EXIT_SUCCESS;
 
}
 
unsigned int conversion(unsigned int value) {
 
    return value % 27 + 1;
 
}
Добавлено через 31 секунду
Цитата Сообщение от Sultik_Zaka Посмотреть сообщение
А вот как сделать так, чтоб если число более 26, то нужно отнять от него 27 столько раз, пока оно не станет меньше 27?
Зачем Вам это с помощью разности, когда можно взять остаток от деления?

Добавлено через 3 минуты
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
unsigned int conversionWithWhile(unsigned int value) {
 
    unsigned int temp = value;
 
    while (temp > 26) {
 
        temp -= 26;
 
    }
 
    return temp;
 
}
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 07:10  [ТС]
Да, остаток от деления удобнее, не подумал
Вот только допустим у меня cout << z1 << z2 << ... << z21;
И все те, что >26 должны быть приравнены к промежутку от 0 до 26.
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
21.09.2016, 07:13
Тогда создавайте свой класс и перегружайте операцию '<<'. Либо для каждого вводимого значения вызывайте функцию. Либо считывайте данные в массив, потом обрабатывайте его значения и потом используйте.
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 08:12  [ТС]
Спасибо
0
3176 / 1935 / 312
Регистрация: 27.08.2010
Сообщений: 5,131
Записей в блоге: 1
21.09.2016, 08:20
Цитата Сообщение от Sultik_Zaka Посмотреть сообщение
Знаю, что через цикл и string
Как любой подстановочный шифр - через таблицу подстановки (XLAT):
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 11:39  [ТС]
блин, еще бы обратный код (при вводе цифр выходят буквы, по той же таблице) и все чики-пуки будет!
заранее спасибо
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
21.09.2016, 12:45
Сами реализовывать пытайтесь. Это не сложно, с кодом на руках.
0
0 / 0 / 0
Регистрация: 21.09.2016
Сообщений: 59
21.09.2016, 14:28  [ТС]
Благодарю, разобрался
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.09.2016, 14:28
Помогаю со студенческими работами здесь

Перевод числа в цифры!
Допустим есть числа 4 8256 345346 342345 432004523 Как получить сумму цифр, этих чисел? и закинуть их в массив.

Перевод цифры в число
как сделать чтобы програма не складывала цифры а складывала числа!!! Добавлено через 6 минут Private Sub Command1_Click() i =...

Перевод цифры в слово
Ребят помогите написать код для программы пожалуйста,что бы в нем было:Одна форма в нем два ТекстБокса,и одна кнопка,в один текст пишеться...

Перевод слов в цифры
1 2 3 4 5 6 7 8 9 а б в г д е ё ж з и й к л м н о п р с т у ф х ц ч ш щ ъ ы ь э ю я По схеме приведённой выше надо перевести...

Перевод строки в цифры
вообщем есть поле edit1 допустим. В нем есть текст, состоящий только из цифр 1 и 0.но насколько я понимаю это символы string,надо чтобы...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
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