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

1. У двозв’язний список занести послідовність структур з полями < Дата > та< Подія >. Поле < Дата > має бути символьним рядком, що складається з трьох частин: День. Місяць. Рік. Створити новий список, організований як стек, в який переписати введену інформацію у хронологічному порядку. Розробити окрему функцію для порівняння двох дат. Підказка: при створенні нового списку початковий список поелементно витирається.

2. Згенерувати N випад­кових десятицифрових чисел і записати їх у файл. Далі, читаючи числа з файла, сформувати з них дво­зв’яз­ний список. Потім перенести введені числа в новий однозв’язний список, організований як черга, в якому вони мають бути розташовані за порядком спаданням значень. Підказка: при створенні нового списку початковий список поелементно витирається. Розробити окрему функцію, яка формує одне десятицифрове число з двох або більше випад­кових чисел.

3. Ввести послідовність дійсних чисел, впорядкованих за спадан­ням значень. Сформувати з введених чисел однозв’язний список, організований як черга. Потім ввести ще два дійсні числа і вставити їх у список, так, щоб зберегти загальну впорядкованість. Розробити окрему функцію, призна­чену для введення у впорядкований список двох нових елементів.

4. З введених речень сформувати двозв’язний список (у списку мають зберіга­тися тільки адреси речень, а самі речення треба розташу­вати в пам’яті окремо). Вилучити зі списку всі елементи, у реченнях яких є слова, що починаються і закінчуються однаковою літерою (великі й малі літери не розрізняти). Розробити функцію для перевірки слів речення.

5. Введені українські речення занести в однозв’язний список, організований як черга (у списку слід зберігати тільки адреси, а самі речення розташу­вати в пам’яті окремо). Визна­чити речення, в якому використано найбільше різних літер української абетки, і зробити це речення першим у списку. А речення, в якому найменше різних літер, вилучити зі списку. Розробити функцію, яка визначає кількість різних українських літер, що використані в заданому символьному рядку.

6. З введених довгих цілих чисел сформувати двозв’язний список-чергу. Роздрукувати створений список у прямому і в оберненому порядку. Потім створити новий однозв’язний список-стек, у який перенести всі числа, сума цифр яких перевищує 30. Використати окрему функцію для обчис­лення суми цифр заданого довгого цілого числа. Надрукувати новий та скорочений початковий списки.

7. Введену послідовність даних з координатами (x, y) точок площини занести в двозв’язний список, організований як стек. Визначити пару точок, віддаль між якими найменша, і вилучити їх зі списку. Використати функцію, яка визначає віддаль між двома заданими точками площини.

8. З введених структур, що мають поля: < код товару >, < кількість >, сформувати список, організований як черга (у списку слід зберігати тільки адреси, а самі структури розташу­вати в пам’яті окремо). Потім створити новий однозв’язний список, у який перенести дані всіх товарів, розташувавши їх за порядком зростання кодів. Формування нового списку виконати методом вставки елемента на відповідне місце, застосувавши для цього спеціальну функцію.

9. З введених слів сформувати кільцевий однозв’язний список. Створити новий список, організований як стек, в який переписати всі слова, що складаються з тих самих літер, що й перше введене слово. Надрукувати скоро­че­ний базовий список та новостворений список або вивести повідом­лення про відсутність шуканих слів. Використати функцію, яка перевіряє, чи два задані символьні рядки склада­ються з однакових символів.

10. Ввести вираз, у якому використовуються всі три види дужок: (), [ ] та { }. Перевірити, чи дужки у виразі розставлені правильно. Для цього треба посимвольно переглянути вираз: якщо зустрілась ліва дужка, то занести її у стек, якщо ж знайдено праву дужку, то треба визначити, чи вона парна до дужки, яка є вершиною стеку (перед перевіркою дужка вилучається зі стеку). Вираз правильний, якщо всі дужки парні, а стек наприкінці пере­вірки порожній. Розробити дві функції: перша має перевіряти, чи заданий символ є дужкою, а друга – порівнювати дві задані дужки на парність.

11. У список, організований як стек, занести послідовність символьних рядків, що містять п’ятіркові коди беззнакових цілих чисел. На основі функції, яка перевіряє, чи заданий символьний рядок є правильним записом п’ятірко­вого коду числа, і повертає десяткове числове значення цього числа (або нуль, якщо код неправильний), вилучити зі списку всі помилкові рядки. Потім надрукувати таблицю п’ятіркових кодів, що залишились, та їхніх десятко­вих значень.

12. З введених речень сформувати двозв’язний список-чергу (у списку мають зберігатися тільки адреси речень). Утворити новий список, організований як стек, у який перенести ті речення, що складаються з чотирьох або більше слів. Надрукувати обидва списки. Використати додаткову функцію для підрахунку кількості слів у заданому реченні. Підказка: при створенні нового списку перенесені елементи треба видаляти з початкового списку.

13. З введених беззнакових цілих чисел сформувати однозв’язний список, організований як черга. Потім вилучити зі сформованого списку три останні непарні числа (якщо непарних чисел у списку не більше трьох, то треба вилучити всі). Розробити й застосувати функцію, яка шукає у заданому списку перше непарне число.

14. У список, організований як черга, занести послідовність введених рядків, кожен з яких містить прізвище та ініціали одного учасника конкурсу. Потім перенести введені дані в новий список, організований як стек, в якому вони мають бути записані в абетковому порядку. Розробити окрему функцію для порівняння прізвищ учасників. Підказка: при створенні нового списку початковий список поелементно витирається.

15. З послідовності введених слів сформувати кільцевий однозв’язний список. Потім визначити слово, яке складається з найбільшої кількості різних літер. Надрукувати це слово та вилучити його зі списку – якщо таких слів декілька, то надрукувати й вилучити всі. Використати функцію, яка визначає кількість різних літер, з яких складається задане слово.

16. У двозв’язний список, організований як черга, занести послідовність символьних рядків, що містять 2-10-ві коди коротких беззнакових чисел. Вилучити зі списку рядки, в яких записані непра­вильні коди (наприклад: у рядку є інші символи, крім 0 та 1, значення тетради перевищує 9, кількість десяткових цифр більша за 5 тощо). Надрукувати таблицю кодів, що залишились, та їхніх десятко­вих значень. Для перевірки 2-10-го коду числа та обчислення його десяткового значення розробити дві окремі функції.

17. Послідовність введених слів занести в двозв’язний список-чергу (у списку мають зберігатися тільки адреси, а самі слова треба розташу­вати в пам’яті окремо). Потім вилучити зі списку всі слова, які складаються з тих самх літер, що й останнє введене слово. Використати функцію, яка перевіряє, чи два задані символьні рядки складаються з усіх однакових символів.

18. Розробити функцію, яка формує символьний рядок, що складається з десяткових цифр 15-розрядного випадкового цілого числа (число треба сформу­вати з 15 - ти випад­кових цифр). Використовуючи розроблену функцію, створити текстовий файл з K таких довгих випадкових чисел. Потім, читаючи дані з файла, сформувати список з цих чисел. Далі вилучити зі списку всі числа, цифровий корінь яких менший за 5. Підказка: щоб знайти цифровий корінь числа, треба додати всі цифри цього числа, потім всі цифри знайденої суми і повторювати додавання цифр, поки сума не стане однорозрядним числом.

19. У двозв’язний список, організований як черга, занести послідовність символьних рядків із датами поточного року, що мають форму: День Місяць. Розробити функцію, яка за заданою датою визначає порядковий номер дня року (наприклад, 23 лютого – 54-й день року). Використовуючи розроблену функцію, сформувати однозв’язний список-стек із тих дат, які відповідають дням року від 180-го до 225-го (перенесені елементи треба видалити з базового списку).

20. З введених речень сформувати двозв’язний список, організований як стек (у списку мають зберігатися тільки адреси речень). Розробити функцію, яка міняє у заданому символьному рядку всі слова, що містять вказану літеру на відповідну кількість символів  *. Використовуючи розроблену функцію, “засекретити” ті слова з введених речень, в яких є задана літера. Речення, які не містять жодного такого слова, вилучити зі списку.

21. У список, організований як стек, занести послідовність символьних рядків, кожен з яких має відповідати 16-му коду довгого цілого числа. Перевірити введені рядки – у рядку мають бути тільки символи 16-х цифр, кількість цифр не повинна перевищувати 8 тощо. Ті рядки, в яких записані коди з помилками, витерти, а правильні коди переписати в новий список-чергу. Для перевірки кодів використати окрему функцію.

22. У список-стек, занести послідовність символьних рядків, кожен з яких містить прізвище та ім’я одного спортсмена (у списку мають зберігатися тільки адреси рядків). Потім творити два списки-черги: в перший переписати дані про спортсменів-чоловіків, а в другий – про спортсменів-жінок. У нові списки треба переносити тільки адреси рядків, не змінюючи їхнього розташування у динамічній пам’яті, але витираючи їх із базового списку. Розробити функцію, яка виділяє ім’я (останнє слово) зі заданого символь­ного рядка та визначає, чи це жіноче ім’я (можна вважати, що всі жіночі імена, закінчуються літерами  а  або  я, за винятком  Любов).

23. З послідовності довгих беззнакових чисел, відсортованих за спаданням значень, сформувати циклічний список. Розробити функцію, яка вводить у однозв’язний циклічний список новий елемент, зберігаючи загальну впорядкованість списку. На основі цієї функції доповнити початковий список чотирма новими числами. А потім видалити зі списку елементи з номерами n 1 та n 2 (за умови, що такі елементи є в списку).

24. У двозв’язний список-чергу занести послідовність структур з полями < Індекс >, < Повідомлення > (структури треба зберігати в динамічній пам’яті окремо). Утворити новий список, організований як стек, у який перенести введені записи, відсортувавши їх за зростанням індексів. При формуванні нового списку треба переносити тільки адреси структур, не змінюючи їхнього розташування у динамічній пам’яті.

25. Введену послідовність даних з координатами (x, y, z) групи просторових точок занести в однозв’язний список-стек. Потім створити новий список-чергу, в який пернести всі дані, розташувавши їх за спаданням віддалі від початку координат. Підказка: при створенні нового списку перенесені елементи початкового списку витираються. Використати функцію, яка визначає віддаль заданої просторової точки від точки початку координат.

26. З введених речень (символьних рядків) сформувати двозв’язний список-чергу (у списку зберігати тільки адреси речень). Потім перенести у новий однозв’язний список-стек всі символьні рядки, які є паліндромами. Використати спеціальну функцію для перевірки, чи задане речення є паліндромом. Підказка: паліндром – символьний рядок, який читається однаково зліва направо і справа наліво (великі й малі літери у паліндромах не розрізняють, пробіли й розділові знаки опускають).

27. З введених структур, що мають поля: < Код виробника >, < Адреса підприємства >, сформувати список, організований як стек. Потім перенести в новий список-чергу дані про українських виробників (при створенні нового списку відповідні елементи початкового списку треба видаляти). Розробити окрему функцію для перевірки адреси виробника.

28. З введених українських слів, впорядкованих за алфавітом, сформувати одно­зв’язний список, організований як стек (у списку зберігати адреси слів, які розташу­вати в пам’яті окремо). Потім послідовно ввести ще декілька слів, вставляючи їх у список, так, щоб зберігалась загальна впорядкованість. Застосувати окрему функцію для порівняння двох українських слів за алфавітним порядком.

29. З введених довгих цілих чисел сформувати двозв’язний кільцевий список (у списку зберігати тільки адреси чисел, які розташувати в динамічній пам’яті окремо). Потім вилучити зі списку всі елементи, які більше, ніж у три рази перевищують значення найменшого елемента списку. Розробити окрему функцію для визначення найменшого елемента списку.

30. Ввести послідовність структур, що мають поля: < Термін > і < № сторінки >, та сформувати з них однозв’язний список. Потім відсортувати дані за номерами сторінок – для цього по одному перенести всі елементи в новий список-чергу, перемкнувши відповідні зв’язки. Розробити й застосувати функцію, призначену для доповнення списку новим елементом.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: