Варіанти індивідуальних завдань
Завдання 1. Робота з символьними рядками.
Мета:Придбання практичних навичок в роботі з символьними рядками з використанням індексних виразів та вказівників, забезпечення функціональної модульності.
Постановка задачі
Згідно з варіантом завдання скласти функцію для обробки символьних рядків та програму для перевірки працездатності функції. За зразок можна брати бібліотечні функції обробки рядків мови С, але не використовувати їх в своїй функції.
При виконанні 1-го завдання необхідно:
Рядки для тестування функції вводити в головній програмі з клавіатури.
Передбачити обробку помилок в завданні параметрів та особливі випадки.
3. Розробити два варіанти заданої функції з використанням:
а) індексованих масивів;
Б) вказівників.
Варіанти індивідуальних завдань
- Функція Right_edge (s,l)
Призначення: вирівнювання рядку sпо правому краю до довжини l.
- Функція Paste(s,s1,n)
Призначення: вставлення в рядок sпідрядку s1, починаючи з позиції n.
- Функція Amputation (s,n,l)
Призначення: вилучення з рядку s підрядка, що починається з позиції n, довжиною l.
- Функція Line_up (s,l)
Призначення: вирівнювання рядку sпо ширині до довжини l.
- Функція Index(s,n)
Призначення: визначення позиції в рядку s початку слова з номером n.
- Функція Length(s,n)
Призначення: визначення довжини слова з номером n в рядку s.
- Функція Word(s,n,l)
Призначення: виділення з рядку s k слів, починаючи зі слова з номером n.
- Функція Type(s)
Призначення: визначення типу рядка s (можливі типи — рядок букв, десяткове число, 16-ричне число, 8-ричне число двійкове число).
- Функція Rozd(s,t)
Призначення: розділення рядку sна дві частини: до першого входження символу t та після нього.
- Функція Cent (s1,s2)
Призначення: центрування — розміщення рядку s1у центрі рядку s2.
- Функція Сonfer(s,n,l,t)
Призначення: установлення l символів рядку s, починаючи с позиції n, в значення t.
- Функція Position(s,t).
Призначення: повертає номер останнього входження символу t в рядок s; якщо символ в рядок не входить, функція повертає значення -1.
- Функція Position(s,t).
Призначення: повертає 1, якщо рядок tрозташований в кінці рідка s, та 0 в іншому випадку.
- Функція Conversion(s).
Призначення: Перетворює двійкове число (введене як послідовність символів) у десяткове та 16-ричне.
- Функція Simile(s1,s2)
Призначення: порівняння рядків (враховуючи пробіли та горизонтальні табуляції).
- Функція Length(s,s1)
Призначення: визначення довжини тієї початкової частини рядку s, яка містить тільки символи з рядку s1.
- Функція Insert(s).
Призначення: У рядку sпоміняти місцями попередній та наступний символи. Наприклад, є рядок s– 123456789. Після роботи функції отримаємо рядок – 321654987. Якщо наступного символу немає, то останні символи залишаються на своїх місцях.
- Функція Peretvorennya(s,s1,s2)
Призначення: перетворення рядку s символів, що входять в алфавіт s1, в символи, що входять в алфавіт s2.
- Функція Word(s,n)
Призначення: виділення n-го слова з рядку s.
- Функція Length(s,s1)
Призначення: визначення довжини тієї початкової частини рядку s, яка не містить символи з рядку s1.
- Функція Change(s,t)
Призначення: заміна в рядку s множинних входжень символу t на одне.
- Функція Rotation(s, n, l).
Призначення: У рядку s, починаючи з позиції nвиділити підрядок s1(довжиною l) та обернути його. Наприклад, рядок s – волпржфукрп. Починаючи з позиції n=2 виділяємо підрядок s1довжиноюl=5 (лпржф). При обертанні підрядка s1отримаємо рядок s вофжрплукрп.
- Функція Coding(s).
Призначення: кодує символьний рядок за наступним правилом:
a -> b
b -> c
c -> d
……..
z -> a
інший символ -> *
Коди малих латинських букв розташовані за зростанням.
- Функція Digit(s).
Призначення: визначає довжину найдовшої послідовності цифр в символьному рядку
- Функція Position(s,s1)
Призначення: пошук позиції останнього входження підрядку s1в рядок s.
- Функція Insert(s).
Призначення: дозволяє в заданому рядку символів вилучити всі зайві пробіли, замінюючи декілька підряд розташованих пробілів на один пробіл.
- Функція Conversion(s).
Призначення: обчислює десяткове значення цілого числа за заданим рядком символів s, який є записом цього числа в двійковій системі числення.
- Функція Insert(s).
Призначення: замінює в рядку символів s кожні три крапки – однією крапкою. Функція повинна повертати кількість зроблених замін.
- Функція Search(s, c).
Призначення: шукає перше входження певного символу св рядку s. Функція повинна повертати номер позиції цього символу в рядку, якщо символ знайдений та нуль у випадку, якщо символ в рядку не знайдено.
- Функція Insert(s).
Призначення: замінює в рядку символів s першу букву кожного слова на велику, якщо вона є малою літерою. Функція повинна повертати число зроблених замін.
- Функція InsertSpace(s,l)
Призначення: доведення рядку s до довжини l шляхом рівномірного вставлення пробілів між словами.
- Функція Find(s,s1)
Призначення: пошук входження в рядок s заданої фрази (послідовності символів) s1.
- Функція Number( s).
Призначення: рахує в заданому рядку символів кількість слів, що починаються з літер ‘а’ або ‘А’ .
- Функція Fill(s,n).
Призначення: в рядку символів s заповнює проміжки між словами додатковими пробілами так, щоб довжина рядку дорівнювала n символам. (Вважати, що n більше довжини початкового рядку). Перевірити роботу функції для n=60,70.
- Функція Amputation(s1,s2).
Призначення: вилучає з рядку s1 всі символи, що є в рядку s2. Функція повертає кількість вилучених символів.
- Функція Uppercase(s).
Призначення: перетворює рядок таким чином, щоб кожне слово починалось с великої літери, якщо воно починалось з малої. Повертає загальну кількість слів рядку.
- Функція Insert(s).
Призначення: в символьному рядку замінює всі коми на крапки, а наступну букву робить великою. Повертає кількість зроблених замін.
- Функція Quantity(s,P,Q).
Призначення: підраховує кількість входжень підрядку P у рядок Q.
- Функція Simile(s,t,n).
Призначення: порівнює не більше ніж n літер рядків s та t (позначимо ці підрядки як ns та nt) та повертає від’ємне, нульове або додатне значення, якщо підрядок ns, відповідно, містить пробілів менше, однакову кількість або більше, ніж у підрядку nt.
- Функція Insert(s).
Призначення: У рядку sпоміняти місцями кожні два символи. Наприклад, є рядок s– 123456789. Після роботи функції отримаємо рядок – 214365879. Якщо кількість символів непарна, то останній символ залишається на своєму місці.
- Функція Histogram(s).
Призначення: побудова гістограми довжин числових послідовностей в символьному рядку ( гістограми малювати горизонтальними лініями).
- Функція Latin(s).
Призначення: обчислює кількість слів в заданому рядку символів, що складаються тільки з латинських букв.
- Функція Position(s,t).
Призначення: повертає номер останнього входження рядку t в рядок s; якщо рядок t в рядок s не входить, функція повертає значення -1.
- Функція Quantity(s).
Призначення: обчислює довжину найдовшої послідовності підряд розташованих пробілів
- Функція Conversion(s).
Призначення: Перетворює усі літери v, за якою стоїть літера a, на символ *. Повертає загальну кількість замін.
Примітка: під «словом» скрізь мається на увазі послідовність символів, яка не містить пробілів, табуляцій та нових рядків.