Указатели, символьныестрокиифункции
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

1. Цель работы

2. Темы для предварительной проработки

3. Задание для выполнения

4. Варианты индивидуальных заданий

5. Пример решения задачи

5.1. Разработка спецификаций функции

5.2. Разработка алгоритма решения

5.3. Функция substr(). Текст программы

5.4. Функция main()

5.4.1. Переменныефункции main()

5.4.2. Текст функции main()

5.3.4. Общие объявления

5.5. Отладка программы

 

Цель работы

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

2. Темы для предварительной проработки

· Указатели. Типизированныеуказатели.

· Указатели и массивы.

· Функциипользователя

Задание для выполнения

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

Примечания:

1. В большинстве заданий необходимо предусмотреть работу функции при некорректном задании ее параметров.

2. В тех заданиях, где применен термин "слово", под ним понимается любая последовательность символов, ограниченная любым числом пробелов и/или началом/концом строки.

3. Лабораторную работу организовать в виде элементарного меню:

· Ввод исходных данных

· Обработка.

· Вывод на экран исходной строки и полученной в результате обработки.

· Конец работы (с запросом подтверждения выхода).

 

Варианты индивидуальных заданий

Вариант Что нужно сделать
1 В строке, содержащей последовательность слов, найти конец предложения, обозначенный символом "точка". В следующем слове первую строчную букву заменить на прописную.
2 Функция копирует строку в другую строку заданное пользователем количество раз.
3 Функция заменяет в строке одну заданную комбинацию символов другой заданной комбинацией.
4 Функция сравнивает две строки, игнорируя количество пробелов между словами (Совет— перед перед сравнениемстрокудалитевсе пробелы).
5 Функция определяет длину слова с заданным номером.
6 Оставить в строке фрагменты, симметричные относительно центрального символа, (например, «dcbabcd»), остальные символы заменить на пробелы.
7 Функция находит в строке первый символ, который не входит в другую заданную строку.
8 Функция удаляет из начала и из конца строки заданный символ.
9 Функция удаляет из строки заданное количество символов, начиная с заданной позиции.
10 Функция удаляет из строки слово с заданным номером.
11 Функция разбивает строку на две части: до первого вхождения заданного символа и после него.
12 Найти в строке два одинаковых фрагмента (не включающих в себя пробелы) и возвратить индекс начала первого из них (т.е. для «aaaaaabcdefgx cd xxbcdefgwwwww»  вернутьn=6 — индекс начала «bcdefg»).
13 Функция переписывает все символыстроки в обратном порядке.
14 Функция переписывает строку. Если она находит в строке число, то вместо него она переписывает в выходную строку соответствующее по счету слово из входной строки. (например, «aaa bb1bb cc2cc — «aaa bbaaabb ccbb1bbcc»).
15 Функция сравнивает двестроки, игнорируяразличия в регистрах.
16 Функция дописывает однустрокувначалодругой.
17 «Перевернуть» встроке все слова. (Например: «Жили были дед и баба» — «илиЖ илыб дед и абаб»).
18 Выполнить сортировку символов в строке. Порядок возрастания "весов" символов задать таблицей вида char ORD[] = «АаБбВвГгДдЕе1234567890»; Символы, не попавшие в таблицу, размещаются в конце отсортированной строки.
19 Переписатьв выходнуюстроку слова из входнойстроки в порядкевозрастания их длины.
20 Функция заменяет в строке все множественные вхождения заданного символа одним.
21 Функция находит в строке первый символ, который входит в другую заданную строку.
22 Функция выделяет заданное по номеру слово изстроки.
23 Функция выделяет из строки заданное количество слов, начиная со слова с заданным номером
24 Функция перекрывает символыстроки заданным количеством символов другойстроки, начинаяс заданной позиции.
25 Заменить в строке все целые числа соответствующим повторением следующего за ними символа (например  «abc5xacb15y» — «abcxxxxxacbyyyyyyyyyyyyyyy»).
26 Функция обменивает первоеипоследнее слово строкидруг с другом.
27 Функция выделяетиз заданнойстрокиподстроку заданной длины, начинаяс заданной буквы (символа). Если такого символа нет, то выводит сообщение.
28 Функция доводит длину строки до заданной, добавляя пробелы между словами.
29 Функция копируетстроку в другуюстроку заданной длиныи размещает текст первойстроки по центру другойстроки.
30 Функция вставляет в строкудругуюстроку, начинаяс заданной позиции.
31 Функция переписывает кажлоечетное слово строки в обратномпорядке.
32 Функция сортирует в строке слова в порядкеуменьшения их длины.
33 Функция обмениваетсамое короткое слово строкиссамым длинным.
34 Функция удаляетиз строки каждоечетное слово.
35 Функция удаляет из строки слово с заданным номером.
36 Функция находитсамое короткое слово строкии заменяетэтим словом последнее слово строки.
37 Функция переворачиваетсамое длинное слово строки в обратном порядке.
38 Функция заменяет нечетные слова строки последним словом.
39 Функция удаляетиз строки слова, превишающие заданнуюдлину.
40 Функция добавляет в строкус заданной позиции заданное по номеру слово другойстроки.

 

5. Пример решения задачи

Функция выделяет из заданной строки подстроку заданной длины, начиная с заданной позиции.


Дата: 2018-12-21, просмотров: 470.