Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
6 / 3 / 3
Регистрация: 15.07.2018
Сообщений: 34

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

23.09.2025, 18:34. Показов 4093. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нужно выполнить преобразование строки произвольной длины (заглавные буквы кириллицы) к натуральному числу по схеме Горнера. Я прочитал про схему Горнера, она для многочленов и перевода числе из систем счисления. Как её применить для преобразование строки я вообще не пойму? Число нужно получить для хеш-функции. Может кто-нибудь подскажет? Всё на C++.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
23.09.2025, 18:34
Ответы с готовыми решениями:

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

Массив: Выделить в отдельные массивы заглавные гласные и заглавные согласные буквы латинского алфавита
В исходном массиве символов, заполненном случайным образом символами с кодами в диапазоне от 21 до...

Написать программу замены во веденной строке малых букв а на заглавные Написать программу замены во веденной строке малых букв а на заглавные
Написать программу замены во веденной строке малых букв а на заглавные

4
Злостный нарушитель
 Аватар для Verevkin
10359 / 5774 / 1274
Регистрация: 12.03.2015
Сообщений: 26,686
23.09.2025, 23:07
Где ты взял эту задачу? Покад ТЗ.
0
Эксперт функциональных языков программированияЭксперт С++
 Аватар для Royal_X
6229 / 2930 / 1047
Регистрация: 01.06.2021
Сообщений: 10,877
24.09.2025, 11:12
Цитата Сообщение от MrxCWco Посмотреть сообщение
Преобразование строки произвольной длины(заглавные буквы кириллицы) к натуральному числу
а чем стандартная библиотека не устраивает?

Мало того, что там есть std::hash для всех обычных строк std::basic_string:

std::string std::basic_string<char> (typedef)
std::u8string (C++20) std::basic_string<char8_t> (typedef)
std::u16string (C++11) std::basic_string<char16_t> (typedef)
std::u32string (C++11) std::basic_string<char32_t> (typedef)
std::wstring std::basic_string<wchar_t> (typedef)

Так там есть даже и для вьюшек:

std::hash<std::string_view> (C++17)
std::hash<std::wstring_view> (C++17)
std::hash<std::u8string_view> (C++20)
std::hash<std::u16string_view> (C++17)
std::hash<std::u32string_view> (C++17)
0
599 / 421 / 137
Регистрация: 02.10.2008
Сообщений: 1,798
Записей в блоге: 1
26.09.2025, 17:49
Цитата Сообщение от MrxCWco Посмотреть сообщение
заглавные буквы кириллицы)
А если сопоставить каждой заглавной "букве кирилицы" натуральное число? А=1,Б=2,В=3 и т.д. то задачка сводится к реализации этого алгоритма же...
0
 Аватар для andrey_f
884 / 537 / 228
Регистрация: 21.02.2011
Сообщений: 5,705
01.10.2025, 11:34
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
unsigned long long stringToNumber(const std::string& str) {
    if (str.empty()) return 0;
    
    const int base = 33; // Основание системы (33 буквы кириллицы)
    unsigned long long result = 0;
    
    for (char c : str) {
        // Преобразуем букву в числовой код
        // 'А' = 0, 'Б' = 1, ..., 'Я' = 32
        int digit = c - 'А';
        
        // Схема Горнера: result = result * base + digit
        result = result * base + digit;
    }
    
    return result;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
01.10.2025, 11:34
Помогаю со студенческими работами здесь

Подсчет цифр, заглавных и строчных русских букв, заглавных и строчных английских букв, пробелов и спец символов
Ситуация такая, что строчные русские буквы код считает как большие и добавляет еще счетчик спец...

Подсчитать количество вхождений буквы (кириллица) в строку (кириллица)
Суть такая: по требованию программы ввести строку символов (обыкновенный текст, кириллица(!!!)) и...

Сделать заглавной первую букву первого слова, во втором сделать заглавной вторую
Помогите с программой на СИ++ Дан текст, состоящий не менее чем из пяти слов. Написать...

Как преобразовать из строчной в заглавную буквы кириллицы?
Не работает функция toupper с кириллицей. Кто может накинуть каких-нибудь способов решения этой...

я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву "П" , какой цикл нужно создать чтобы пометять букву "П" на букву "Р" ?
я задал произвольный текст длинной 5 строк, и допустим что я ввел 5 раз букву &quot;П&quot; , какой цикл...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru