Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа №8 (строки символов)

.docx
Скачиваний:
43
Добавлен:
17.03.2015
Размер:
24.27 Кб
Скачать

Лабораторная работа №8.

Строки символов.

Цель работы

- Приобретение навыков обработки произвольного текста

- Получение практических навыков обработки текстовых файлов

- Закрепить практические навыки разработки и отладки программ с использование функций в интегрированной среде программирования С++

Порядок выполнения работы

  1. Ознакомиться с постановкой задачи.

  2. Разработать программу и составить наборы тестовых данных (не менее 4-х наборов).

  3. Продемонстрировать преподавателю, как изменяются основные переменные в отладочном окне при выполнении программы в пошаговом режиме.

  4. Подготовить отчет по лабораторной работе. Отчет должен включать в себя: - титульный лист; - постановку задачи; - текст программы с комментариями; - наборы тестовых исходных данных с соответствующими результатами работы программы; - ответить на контрольные вопросы (письменно).

  5. Защитить лабораторную работу перед преподавателем.

!!! Внимание в конце файла контрольные вопросы!!!

Варианты заданий

Вариант №1

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), найти и вывести на экран в виде списка слова наименьшей длины. Вывод организовать в порядке возрастания количества букв в слове, с указанием из какой строки взято слово и размера слова наибольшей длины для данной строки. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №2

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

Вариант №3

Из произвольного текста (взятом из файла), содержащего не более 10 строк, в каждой строке не более 80 символов вывести на экран исходный текст и отдельным блоком строки, где слова, упорядоченные по алфавиту (язык английский, буквы прописные). Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №4

Для произвольного текста (взятом из файла), содержащего не более 10 строк, в каждой строке не более 80 символов, сформировать массив, элементы которого равны длинам слов. Вывести на экран исходный текст и сформированный массив. Найти количество слов с максимальной длинной и также вывести на экран. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №5

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), попарно переставить местами слова, стоящие на нечетных и четных местах в строке. Вывести полученный текст на экран. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №6

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), заменить каждую согласную букву символом *, а каждую гласную – символом #. Вывести полученный текст, а также информацию о том сколько в каждой строке содержится гласных и согласных букв на экран. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.

Вариант №7

Из произвольного текста (взятом из файла), содержащего не более 10 строк, в каждой строке не более 80 символов вывести на экран исходный текст. Также вывести на экран слова в порядке не возрастания их длины. Сами строки разместить в порядке убывания количества слов, также отобразить номер оригинальной строки в самом начале. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №8

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

Вариант №9

Из произвольного текста (взятом из файла), содержащего не более 10 строк, в каждой строке не более 80 символов вывести на экран исходный текст. В тексте удалить слова заданной длины (длину задает пользователь). Вывести полученный текст на экран. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №10

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

Вариант №11

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

Вариант №12

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

Вариант №13

Для произвольного текста (взятом из файла), содержащего не более 10 строк, в каждой строке не более 80 символов, сформировать массивы А и В, элементами которых являются количество букв «а» в каждом слове, и длина слова соответственно. Вывести на экран исходный текст и сформированные массивы. Результат также записать в выходной файл, имя файла задает пользователь.

Вариант №14

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

Вариант №15

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

Вариант №16

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

Вариант №17

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

Вариант №18

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), удалить из каждой группы идущих подряд цифр, в которой более 2-х цифр и которой предшествует точка, все цифры, начиная с третьей (например, ав+0.1999-1.1 преобразуя в ав+0.19-1.1). Вывести полученный текст на экран. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.

Вариант №19

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

Вариант №20

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), удалить из каждой группы идущих подряд цифр, которой не предшествует точка, все начальные нули (кроме последнего, если за ним идет точка). Отсортировать строки в порядке возрастания количества проведенных удалений. При выводе полученного текста на экран указать номер оригинальной строки. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.

Вариант №21

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

Вариант №22

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

Вариант №23

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

Вариант №24

В произвольном тексте (взятом из файла), содержащем не более 10 строк, в каждой строке не более 80 символов (текст вывести на экран), найти и вывести на экран слова, в которых есть сочетание букв «ёнк» или «онк» (или латинская альтернатива). Посчитать количество повторений каждого слова содержащих указанное сочетание. Выведенную информацию продублировать в выходной текстовый файл, имя файла задает пользователь.

Вариант №25

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

Вариант №26

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

Вариант №27

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

Вариант №28

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

Вариант №29

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

Вариант №30

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

Контрольные вопросы

  1. Раскройте понятие строки в языке программирования С? В чем отличие строки от символьного массива? Каким образом производится обращение к отдельным символам строки?

  2. Как динамически выделить память под строку? Как производится ввод-вывод символов и строк в программах на языке С? Какие способы создания массива строк вы знаете?

  3. Как организуется доступ к файлам? Какие вида доступа вы знаете? Каким образом можно считать/записать данные из текстового файла?

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