Индивидуальное домашнее задание №4. Строки.




В задачах этого раздела строки состоят из слов (последовательность русских букв) и знаков препинания (последовательность любых небуквенных символов).

 

1. Найти в строке наибольшую по количеству слов группу слов-анаграмм (это разные слова, получающиеся одно из другого перестановкой букв, например: автор-отвар-товар).  
2. Найти в строке самую большую группу слов одинаковой длины, в каждом слове этой группы должны присутствовать повторяющиеся буквы.  
3. Найти в заданной строке самую длинную повторяющуюся подстроку. Например, в строке “abcabcabc” это подстрока “abcabc”.  
4. Заданы две строки. Найти в них самый длинный общий фрагмент (знаки препинания игнорировать, различие в регистре букв не учитывать, слова не переставлять).  
5. Найти в строке тройку слов таких, что из букв двух слов можно получить третье (при составлении этого слова следует использовать все буквы двух других). Если таких троек несколько, то вывести их по убыванию суммарного количества букв в словах.  
6. Найти в строке самый большой набор слов, расположенных подряд и таких, что для любых двух соседних слов этого набора последующее слово можно получить из предыдущего заменой одной буквы.  
7. Написать функции перевода целых чисел в систему счисления Фибоначчи и обратно. В системе счисления Фибоначчи число представляется с помощью цифр 0 и 1 путем разложения в сумму чисел Фибоначчи, причем таким образом, что в записи нет расположенных подряд единиц. Например: 100=89+8+3, то есть записывается в виде 10000101000. Написать функцию сложения чисел в этой системе счисления, проверить правильность ее работы.  
8. Найти в строке самый большой набор слов, никакие два из которых не имеют общих букв.  
9. Дана строка, содержащая русские слова и знаки препинания. Проверить, можно ли эту строчку представить как белый стих: не используя перенос (разрыв) слов с одной строки на другую, разбить исходную строку на строчки, в каждой из которых одинаковое число слогов.  
10. Найти в строке самое маленькое по количеству слов множество, в словах которого содержатся все буквы алфавита.  
11. Найти в строке самое маленькое слово, из букв которого можно составить наибольшее количество других слов этой строки.  
12. Строка содержит запись арифметического выражения, содержащего целые числа, операции +, -, *, скобки. Вычислить значение этого выражения.  
13. Получить из заданной строки палиндром максимальной длины путем удаления некоторых слов.  
14. Считая, что слова рифмуются при совпадении двух последних гласных, попытайтесь разбить строчку с текстом на четверостишие так, чтобы первая и третья строчки рифмовались и содержали одинаковое число слогов. Также должны рифмоваться вторая и четвертая строчки.  
15. В заданной строке переставить слова в алфавитном порядке по возрастанию; знаки препинания оставить на прежних местах. Например, строка «Сергей, решите задачу!» преобразуется в «задачу, решите Сергей!».  
16. Дана строка, содержащая текст на русском языке. Выполнить его транслитерацию английскими буквами, результат выдать на печать.  
17. Дана строка, содержащая текст на русском языке. Зашифровать его «шифром Цезаря»: каждая буква заменяется буквой, находящейся в алфавите правее неё (величину сдвига задает пользователь). Алфавит считается зацикленным: за буквой «а» следует буква «я».  
18. Написать функцию перевода целого десятичного числа в шестнадцатеричную систему счисления (результатом функции является строка, функцию itoa не использовать). С помощью этой функции вывести на печать таблицу умножения в шестнадцатеричной системе счисления.  
19. В строке записано арифметическое выражение, содержащее целые числа и операции +, -. Вычислить его значение, не используя стандартные функции преобразования строки в число.  
20. Строка содержит арифметическое выражение – произведение несократимых обыкновенных дробей. Найти величину произведения, записав ответ в виде обыкновенной несократимой дроби. Например, для строки “(3/8)*(2/8)*(14/9)” ответом будет 7/30. Воробьев Г.
21. Строка содержит натуральные числа, записанные через пробел. Расставить между ними знаки + и – так, чтобы получившееся выражение было равно заданному числу. При невозможности получить результат, выдать сообщение. Поляков А.
22. Реализовать с помощью строк сложение и умножение длинных натуральных чисел (более 20 цифр). Ганюшкин Д.
23. Имеется некоторое предложение (слова разделяются символами подчеркивания –‘_’). Используя треугольник паскаля, зашифруйте исходное предложение по следующему правилу; 1)из предложения выделяется очередное слово; 2)из треугольника Паскаля выбирается строка с номером, равным числу букв в слове; 3) k-я буква исходного слова заменяется на букву, отстоящую от исходной на число букв, указанная в k-м столбце выбранной строки треугольника Паскаля (отсчет производится по часовой стрелки). Допустимые символы - прописные русские буквы; символ разделитель '_'. Пример исходная строка: «А_РОЗА_УПАЛА_НА_ЛАПУ_АЗОРА», зашифрованная строка: «Б_ССКБ_ФУЖПБ_ОБ_МГТФ_БЛФФБ».  

kassata@mail.ru



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2022-11-27 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: