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