|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.11.2020, 14:13 | #1 |
Новичок
Джуниор
Регистрация: 22.11.2020
Сообщений: 3
|
Двухбуквенные сочетания.
Сижу уже пару часов и не знаю как это сделать. На c++.
Дан текст, он уже есть в переменной типа char (там есть пробелы, специальные символы), нужно вывести все двухбуквенный сочетания, имеющиеся в тексте (текст уже в переменной типа char) и их количество. Например: Хороший день, не правда ли? хо - 1 ор - 1 ро - 1 ош - 1 ши - 1 ий - 1 не - 1 пр - 1 ав - 1 вд - 1 да - 1 Я думаю суть ясна. |
22.11.2020, 19:54 | #2 |
Старожил
Регистрация: 04.02.2011
Сообщений: 4,574
|
Непонятно - а "день" куда девался?
|
22.11.2020, 20:47 | #3 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
Вариант в лоб:
1. Массив из 65536 элементов. 2. Обнуляем массив. 3. Цикл по i от 1 до длины строки -1 4. Вычисляем индекс в массива: idx=str[i]+str[i-1]*256 5. Увеличиваем элемент idx в массиве (++). 6. Конец цикла по i 7. Проходим по массиву, если значение элемента > 0, то из индекса получаем символы: i / 256 и i % 256. 8. Количество это значение данного элемента массива. E-Mail: arigato.freelance@gmail.com
|
22.11.2020, 23:33 | #4 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
1. Создаешь цикл с 2мя проверками(чтобы текущий и следующий элемент были *буквами*.
2. Если условия соблюдены - выводишь на экран(cout << arr[i] << arr[i+1]<< endl |
23.11.2020, 01:08 | #5 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
Только там надо еще и количество вывести.
E-Mail: arigato.freelance@gmail.com
|
23.11.2020, 01:18 | #6 |
Пользователь
Регистрация: 15.10.2020
Сообщений: 20
|
Arigato, А что подразумевается под количеством ? количество одинаковых комбинаций ?
пример: ап 1 па 1 ыв 1 ра 1 ап 2 (при повторение 2*букв* становиться 2) или должно быть 1 2 3 4 5 6 7 8 9 10 ?) |
23.11.2020, 09:10 | #7 | |||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,527
|
Цитата:
Цитата:
Цитата:
программа — запись алгоритма на языке понятном транслятору
|
|||
23.11.2020, 11:26 | #8 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,591
|
Ну это уже детали реализации. Проверить на диапазон кодов букв не проблема.
E-Mail: arigato.freelance@gmail.com
|
23.11.2020, 15:55 | #9 |
Форумчанин
Регистрация: 17.06.2012
Сообщений: 965
|
Интеграл букв дальновидно освещает моя тема
https://www.programmersforum.ru/show...7&postcount=89 Интеграл букв: все комбинации букв всех слов https://www.programmersforum.ru/show...37#post1820937 Код:
проверяем число комбинаций 14 уникальных букв = 14*13/2 = 7*13 = 91 значит правильно однако моя программа ещё улучшилась чтобы квадратная матрица стала бы как пирамида зато программа на другом языке хорошо бы работала через онлайн компилятор
Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую
Последний раз редактировалось сфинкс; 24.11.2020 в 00:02. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сочетания и Размещения | swillrocker | Помощь студентам | 1 | 14.11.2011 03:15 |
Буквенные сочетания. | KorPaEv | Общие вопросы C/C++ | 3 | 16.09.2011 19:58 |
Java Двухбуквенные сочетания | 0479 | Помощь студентам | 2 | 31.10.2010 22:59 |
Клавиатурные сочетания | kzld | Microsoft Office Excel | 2 | 13.09.2010 14:51 |
Сочетания. | Пaвeл | Помощь студентам | 2 | 12.03.2009 07:57 |