Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Строки и операции над ними. Использование функций обработки текстовых данных



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

1. Для двух заданных различных символов, значения кодов которых хранятся в переменных типа char X и Y,задаваемых пользователем, определить, сколько раз в тексте встречается буква, определенная значением кода, хранящимся в X. Везде, в обрабатываемом тексте, заменить эту букву буквой, определенной значением кода, хранящимся в переменной Y.

2. В заданном тексте везде заменить слово А 1 на слово А 2 (длины слов в общем случае не совпадают).

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

4. По заданному тексту сформировать список слов, состоящих только из букв русского либо латинского алфавита. Для русских букв используется кодировка Кириллица- DOS. Упорядочить полученный список слов по алфавиту. Количество имен в списке заранее не известно.

5. Удалить текст, содержащийся в обрабатываемом файле, начиная с первой встретившейся буквы ‘ М ’ до третьей по счету буквы ‘ М ’. Вывести текст после преобразования и номера позиций начала и конца удаленной части в исходной строке. В обрабатываемом файле содержится текст на русском языке в кодировке Кириллица- DOS.

6. Удалить из текста заданное слово. Вывести обработанный текст и номера позиций начала удаленного слова в исходном тексте.

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

8. Для текста на русском языке определить количество гласных и согласных букв.

9. Поменять местами фрагменты текста ограниченные позициями M 1, M 2 и N 1, N 2. На этапе проектирования программы следует учесть допустимость ситуации, когда разности M 2- M 1 и N 2- N 1 могут не совпадать.

10. Вывести из текста на консоль слова, начинающиеся и заканчивающиеся на одну и ту же букву.

11. Вывести из текста на консоль слова, у которых в i -й позиции располагается одна и та же буква. В исходном тексте поменять местами первую пару таких слов и вывести результат на консоль.

12. Упорядочить слова текста по алфавиту относительно символов, заключенных между 3-й и 6-й позициями каждого слова. Вывести на консоль полученный текст и колонку из соответствующих словам пар символов – для облегчения проверки правильности сортировки.

13. Переформатировать заданный текст в новые строки, считая признаком конца строки в исходном тексте символ "\%".

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

15. Разбить исходный текст на строки длиной не более 50 символов. Перенос осуществлять на местах расположения пробельных символов (не разделяя слова на части).

16. В тексте, содержащем менее 50 непробельных символов, равномерно расставить пробелы между словами так, чтобы его длина равнялась 50 символам.

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

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

19. Определить количество слов в тексте и поменять местами первое и пятое слова.

20. Указать минимальное количество первых букв, по которым можно различить слова из данного набора.

21. Текст задан следующим образом: первые символы – десятичное целое, задающее длину первого слова. Без пробелов, после первого слова - цифры, задающие длину второго слова и т.д. Все слова начинаются не с цифр. По запросу вывести на консоль заданный текст и N -е слово.

22. Напечатать самое длинное слово из заданного текста. Разделители слов - пробельные символы.

23. Исходные данные – файл, содержащий текст на русском языке. Определить, какой процент слов в тексте содержит удвоенную согласную. Разделители слов - пробельные символы.

24. Определить, сколько раз в тексте встречается заданное слово. Разделители слов - пробельные символы.

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

26. Исходные данные – файл, содержащий текст на русском языке. Определить, сколько слов в тексте содержат один слог, два слога, 3 слога и т.д.

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

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

29. Исходные данные – файл, содержащий текст на английском языке. Определить, какие символы и сколько раз встречаются в тексте.

30. В тексте убрать лишние пробелы и разделительные символы, оставив между словами только по одному пробелу

Методические указания

1. Для всех задач объем исходного текста заранее не известен. При организации ввода текста признак окончания ввода – символ конца файла EOF (комбинация клавиш " Ctrl + Z ", UNIX/POSIX стандарт работы с файлами).

2. Действия с фрагментами текста рекомендуется производить как с элементами строковых массивов.

3. Для преобразования текста в максимальной степени использовать библиотечные функции преобразования символьных данных.

Вопросы для собеседования

1. В каком виде символьная информация хранится в памяти ЭВМ.

2. Чем отличаются символьные массивы и строки. Как производится создание и инициализация строки.

3. По каким правилам выполняется лексикографическое сравнение символьных массивов?

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

strlen () - определение длины строки;

strset () - заполнение строки заданным символом;

strnset () – заполнение части строки заданным символом;

strcpy () – копирование строки в строку;

strcat () – соединение (конкатенация) строк;

strcmp () – сравнение двух строк;

strtok () – поиск и выделение лексических единиц в строке;

strchr () – поиск заданного символа в строке;

strpbrk () – поиск первого вхождения символа из шаблона в строке

strspn () – определение длины начальной части строки-шаблона, которой нет в исследуемой строке;

strstr () – поиск подстроки в строке (по образцу).

Для указанных функций по алгоритмам составить программную реализацию.


ЛИТЕРАТУРА

1. Гуденко Д.А. Сборник задач по программированию / Д.А. Гуденко, Д.В. Петроченко. – СПб.: Питер, 2003. – 475 с.: ил.

2. Златопольский Д.М. Программирование: типовые задачи, алгоритмы, методы / Д.М.Златопольский. – М.: БИНОМ. Лаборатория знаний, 2007. – 223 с.:ил.

3. Златопольский Д.М. Сборник задач по программированию /Д.М.Златопольский. – СПб.: БХВ-Перетбург, 2011. – 304 с.:ил. – (ИиИКТ)

4. Иванова Г.С. Основы программирования: Учебник для вузов / Г.С.Иванова. – М.: Изд-во МГТУ им.Н.Э. Баумана, 2007. – 416 с.:ил.

5. Лафоре Р. Объектно-ориентированное программирование в С++. Классика Computer Science. 4-е изд. / Р. Лафоре. – СПб.: Питер, 2004. – 924 с.: ил.

6. Климова Л.М. СИ++. Практическое программирование. Решение типовых задач / Л.М. Климова. – М.: КУДИЦ-ОБРАЗ, 2001. – 592с.

7. Роббинс А. Linux: Программирование в примерах. Пер с англ. / А.Роббинс. – М.: КУДИЦ-ОБРАЗ, 2005. – 656 с.

8. Спинелис Диомидис. Анализ программного кода на примере проектов Open Source.: Пер. с англ. / Д.Спинелис. – М.: Издательский дом «Вильямс», 2004. – 528 с.: ил. – Парал. тит. англ.

9. Фуско Дж. Linux. Руководство программиста / Дж.Фуско. – СПб.: Питер, 2011. – 448 с.:ил.

10. Шилдт Г. Полный справочник по С / Г. Шилдт. – М.:Издательский дом «Вильямс», 2002.


ПРИЛОЖЕНИЕ 1.





Дата публикования: 2014-11-18; Прочитано: 1416 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...