Лабораторная работа №5. Работа с текстом

Перечень задач

  1. Простые — A
  2. Средние — B
  3. Сложные — C

1A. Решить задачу («Число вхождений символа»)

Подсчитать, сколько раз в данной строке встречается буква Ch.

Пример: строка «Hello, world!», искомый символ ‘o’, результат: 2.

 


2A. Решить задачу («Перекачка одной строки в другую»)

Перекачать посимвольно одну строку в другую. Простое присвоение ds:=bs не использовать.

Пример: исходная строка bs = «Hello, world!», результат: ds = «Hello, world!».

 


3A. Решить задачу («Перевертыш»)

Получить из строки bs симметричную ей строку ds.

Пример: исходная строка bs = «abc»,  результат: ds = «cba».

 


4A. Решить задачу («Замена символа»)

Заменить в заданной строке все буквы Ch1 на Ch2

Пример: исходная строка bs = «Hello, world!»,  Ch1 = ‘o’,   Ch2 = ‘5’, результат: ds = «Hell5, w5rld!».

 


5A. Решить задачу («Удвоить символ»)

В заданной строке удвоить каждое вхождение буквы Ch.

Пример: исходная строка bs = «Hello, world!»,  Ch1 = ‘o’, результат: ds = «Helloo, woorld!».

 


6А. Решить задачу («Добавление подстроки»)

В заданной строке после каждой буквы Ch вставить строку Str1.

Пример: исходная строка bs = «Hello, world!»,  Ch1 = ‘o’,   Str1 = ‘123’, результат: ds = «Hello123, wo123rld!».

 


7А. Решить задачу («Сокращение середины»)

Из заданной строки удалить среднюю букву, если длина строки нечетная, иначе — удалить две средние буквы.

Пример: исходная строка bs = «12345″, результат: ds = «1245».
Исходная строка bs = «123456″, результат: ds = «1256».

 


8В. Решить задачу («Замена подстроки»)

Заменить все вхождения подстроки Str1 на подстроку Str2, которые вводятся с клавиатуры. Простую команду замены (например, replace) не использовать.

Пример: исходная строка bs = «hello, hello, my friend, hello!», Str1 = ‘hello’,   Str2 = ‘123’, результат: ds = «123, 123, my friend, 123«.

 


9А. Решить задачу («Разбиение на слова»)

Разбиение предложения на слова.

Пример: исходная строка bs = «Раз два три четыре», результат: («Раз»,  «два»,  «три»,  «четыре»).

 


10A. Решить задачу («Разбиение на слова с фильтром»)

Дана последовательность слов. Напечатать все слова, отличные от слова «hello”.

Пример: исходная строка bs = «Раз два hello три четыре hello«,  результат: («Раз»,  «два»,  «три»,  «четыре»).

 


11B. Решить задачу («Печать слов по алфавиту»)

Дана последовательность слов. Напечатать все слова в алфавитном порядке.

Пример: исходная строка bs = «Раз Раз два hello три четыре hello».

Результат (без учета регистра): («hello», «hello»,  «Раз», «Раз», «два», «три»,  «четыре»).

Результат (с учетом регистра): («hello», «hello», «два», «Раз», «Раз», «три»,  «четыре»).

 


12B. Решить задачу («Печать различных слов»)

Дано предложение. Напечатать все различные слова.

Пример: исходная строка bs = «Раз Раз два hello три четыре hello«,  результат (возможный): («hello», «Раз»,  «два»,  «три»,  «четыре»).


13B. Решить задачу («Разбиение на слова с обработкой-1»)

Дана последовательность слов. Напечатать те слова последовательности, которые удовлетворяют следующему свойству: символы слова упорядочены по алфавиту (по возрастанию).

Пример: исходная строка bs = «hello 123 432 456 world!»,  результат: ds = «123», «456».

 


14B. Решить задачу («Разбиение на слова с обработкой-2»)

Дана последовательность слов. Напечатать те слова последовательности, удовлетворяют следующему свойству: в слове нет повторяющихся букв.

Пример: исходная строка bs = «Hello, world!»,  результат: ds = «world».

 


15B. Решить задачу («Разбиение на слова с обработкой-3»)

Дана последовательность слов. Напечатать те слова последовательности, удовлетворяют следующему свойству: слово симметрично.

Пример: исходная строка bs = «Hello, 121, 222, 456 aha world!»,  результат: ds = «121», «222», «aha».

 


16B. Решить задачу («Разбиение на слова с обработкой-4»)

Дана последовательность слов. Напечатать все слова, предварительно преобразовав каждое из них по следующему правилу: удалить из слова все предыдущие вхождения последней буквы.

Пример: исходная строка bs = «Hello, 121, 222, 456 aha world!»,  результат: ds = «Hello, 21, 2, 456 ha world!».

 


17В. Решить задачу («Слова без повторов»)

Дана последовательность слов. Напечатать все слова последовательности, которые встречаются в ней по одному разу.

Пример: исходная строка bs = «Раз Раз два hello три четыре hello», результат: ds = «два»,  «три», «четыре» (порядок неважен).

 


18А. Решить задачу («Максимальная цифра в строке»)

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

Пример: исходная строка bs = «121253231532″, результат: 5.

 


19B. Решить задачу («Сумма чисел в строке»)

Найти сумму всех чисел строки.

Пример: исходная строка bs = «Hel123lo, wo232rld!», результат: 355.

 


20B. Решить задачу («Алфавит строки»)

Дана символьная строка. Подсчитать, сколько различных символов встречаются в ней. Вывести их на экран.

Пример: исходная строка bs = «Hello, wOrld!»,

результат (с учетом регистра): «H», «e», «l», «o«,  «,» , » «, «w» , «O» , «r», «d», «!».

результат (без учета регистра): «H», «e», «l», «o»,  «,» , » «, «w» , «r», «d», «!».

 


21B. Решить задачу («Удаление со скобками»)

Удалить часть символьной строки, заключенную в скобки (вместе со скобками).

Пример: исходная строка bs = «Hello, (deleted text) world!», результат: ds = «Hello,  world!».

 


22B. Решить задачу («Самое длинное слово»)

Получить самое длинное слово предложения

Пример: исходная строка bs = «Раз Раз два hello три четыре hello», результат: ds = «четыре».

 


23A. Решить задачу («Палиндром»)

Символьная строка содержит одно слово. Проверить, будет ли оно читаться одинаково справа налево и слева направо (т.е. является ли оно палиндромом).

Пример: исходная строка bs = «потоп», результат: Да.

Пример: исходная строка bs = «сазан», результат: Нет.

 


24В. Решить задачу («Расшифровка»)

В записке слова зашифрованы – каждое из них записано наоборот. Расшифровать сообщение.

Пример: исходная строка bs = «olleH, !dlrow», результат: ds = «Hello, world!».

 


25B. Решить задачу («Проверка скобок»)

Проверить, правильно ли расставлены открывающиеся и закрывающиеся скобки «(» и «)»  в данной строке.

Пример: исходная строка bs = «(())», результат: «Правильно».

Пример: исходная строка bs = «))((» или  «((())» , результат: «Неправильно».

 


26А. Решить задачу («Гласные или согласные»)

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

Пример: исходная строка bs = «раз два три», результат: ds = «Согласных».

 


27С. Решить задачу («Составить слово»)

Массив  длины N содержит некоторые буквы русского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую можно ли из этих букв составить данное слово bs.

Пример: исходный массив: («Н», «О», «С» ,»И» ,»К»)

искомое слово bs = «СОН», результат: Да,

искомое слово bs = «СНОС», результат: Нет (не хватает второй буквы «С»).

 


28С. Решить задачу («Однофамильцы»)

В символьном массиве хранятся фамилии и инициалы учеников класса. Требуется напечатать список класса с указанием для каждого ученика количества его однофамильцев.

Пример: исходный массив: («ИВАНОВ И.И.»,»ИВАНОВ А.И.»,»ИВАНОВ С.И.»,»ПЕТРОВ И.И.»)

результат:

«ИВАНОВ И.И»  2
«ИВАНОВ А.И»  2
«ИВАНОВ С.И»  2
«ПЕТРОВ И.И»  0

 


29С. Решить задачу («Римские в натуральные»)

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

Примеры: исходная строка bs = «IV», результат: ds = 4.
исходная строка bs = «XIV», результат: ds = 14.
исходная строка bs = «XVII», результат: ds = 17.

 


30С. Решить задачу («Текстовое сложение»)

Даны две символьные строки, состоящие только из цифр (длина каждой более 10 символов). Считая, что в этих строках находятся очень длинные числа, сформировать третью строку- сумму этих чисел.

Пример: исходные строки: bs = «1212»,  сs = «12» результат: ds = «1224».

 


К началу