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

Завдання 4. Робота зі структурами та файлами. Методи сортування та пошуку даних

Мета:Придбання практичних навичок в роботі зі складними типами даних, що зберігаються в файлах. Оволодіння методами сортування та пошуку даних.

Постановка задачі

Дані зберігаються в файлі на диску. Реалізувати їх обробку, як вказано в варіанті. Реалізувати заданий алгоритм сортування та пошуку даних.

При виконанні 4-го завдання необхідно:

Ім’я файлу задавати в командному рядку. Якщо воно там не було задане, то після відповідного запиту ім’я вводиться користувачем.

Використовувати динамічне виділення пам’яті (розмір масиву задається користувачем після відповідного запиту). Звільняти пам’ять, виділену під динамічні змінні, ОБОВ’ЯЗКОВО.

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

  1. Є матриця m*n, де m і n – цілі числа. Упорядкувати її за зростанням методом мінімумів. Методами послідовного та бінарного пошуку знайти задане число. Дані вводяться з файлу.
  2. Є структура, одне з полів якої – речення з словами довжиною 6. Упорядкувати слова у полі методом максимумів. Методами послідовного та бінарного пошуку знайти задане слово. Дані вводяться з файлу.
  3. Є матриця m*n символів, де m і n – цілі числа. Упорядкувати її k-ий рядок методом Шелла. Методами послідовного та бінарного пошуку знайти заданий символ у k-ому рядку матриці. Дані вводяться з файлу.
  4. Є масив із m структур. Упорядкувати його методом вставки за першим полем, що є рядком. Методами послідовного та бінарного пошуку знайти заданий рядок у цьому масиві. Дані вводяться з файлу.
  5. Скопіювати файл, упорядкувавши числа, що зберігаються в ньому (по одному у кожному рядку), методом бульбашки. Методами послідовного та бінарного пошуку знайти задане число.
  6. Є масив k структур, одне з полів якого – речення зі словами довжиною 6. Упорядкувати слова у полі методом максимумів. Методами послідовного та бінарного пошуку знайти задане слово. Дані вводяться з файлу.
  7. Є матриця m*k, де m і k – цілі числа, слів довжиною 6. Упорядкувати слова у її діагоналі за спаданням методом мінімумів. Методами послідовного та бінарного пошуку знайти в упорядкованій діагоналі задане слово. Дані вводяться з файлу.
  8. Є дійсна матриця m*n, де m і n – цілі числа. Упорядкувати кожен її рядок за зростанням методом бульбашки. Методами послідовного та бінарного пошуку знайти задане число. Дані вводяться з файлу.
  9. Є масив m слів довжиною 5. Упорядкувати у ньому слова методом вставок. Методами послідовного та бінарного пошуку знайти задане слово. Дані вводяться з файлу.
  10. Є структура, одне з полів якої – речення зі словами довжиною 6-16 (слово закінчується такими символами: ‘ ‘, ‘,’, ‘.’. Упорядкувати слова у полі методом мінімумів-максимумів. Методами послідовного та бінарного пошуку знайти задане слово. Дані вводяться з файлу.
  11. Є матриця m*n, де m і n – цілі числа, слів довжиною 4. Упорядкувати слова у її k-ому та r-ому рядках за спаданням методом вставок. Методами послідовного та бінарного пошуку знайти задане слово у заданому рядку (k-ому або r-ому). Дані вводяться з файлу.
  12. Є матриця m*n, де m і n – цілі числа, слів довжиною 4. Упорядкувати слова у її k-ому стовпчику за спаданням методом Шелла. Методами послідовного та бінарного пошуку знайти задане слово у заданому стовпчику (k-ому). Дані вводяться з файлу.
  13. Є масив структур. Перше поле структури – число (ключ). Упорядкувати масив за зростанням ключа методом Quick Sort. Методами послідовного та бінарного пошуку знайти заданий елемент. Дані вводяться з файлу (кожне нове значення ключа розташовано на окремому рядку).
  14. Є матриця m*n, де m і n – цілі числа, слів довжиною 4. Упорядкувати слова у її k-ому і l-ому стовпцях за спаданням методом бульбашки. Методами послідовного та бінарного пошуку знайти задане слово у заданому стовпчику (k-ому або l-ому). Дані вводяться з файлу.
  15. В файлі зберігається матриця n*n, де n – ціле число, слів довжиною 4. Упорядкувати слова у її діагоналі методом вставок. Методами послідовного та бінарного пошуку знайти задане слово в упорядкованій діагоналі.
  16. Є масив із k слів довжиною 4. Упорядкувати слова у ньому за спаданням методом Quick Sort. Методами послідовного та бінарного пошуку знайти задане слово. Дані вводяться файлу.
  17. В файлі зберігається матриця 6*6 слів довжиною 4. Упорядкувати її за зростанням методом мінімумів-максимумів. Методами послідовного та бінарного пошуку знайти задане слово у 3-ому рядку матриці.
  18. Є матриця m*n цілих чисел. Упорядкувати її рядки (за сумою чисел) методом вставок. Методами послідовного та бінарного пошуку знайти задану суму чисел рядка. Дані вводяться з файлу.
  19. Є матриця m*n цілих чисел. Упорядкувати її рядки (за добутком чисел) методом Шелла. Методами послідовного та бінарного пошуку знайти заданий добуток чисел рядка. Дані вводяться з файлу.
  20. Є матриця m*n, дійсних чисел. Упорядкувати її стовпчики методом Quick Sort. Методами послідовного та бінарного пошуку знайти задане число у вказаному стовпчику. Дані вводяться з файлу.
  21. Є масив із n слів довжиною 15. Упорядкувати кожне його слово за спаданням методом максимумів. Методами послідовного та бінарного пошуку знайти задану літеру в будь-якому (першому) слові, яке містить задану літеру. Дані вводяться з файлу.
  22. Є інформація про групу туристів: прізвище, стать, вік, місце роботи, адреса. Визначити максимальний вік жінок і максимальний вік чоловіків та упорядкувати інформацію в алфавітному порядку за прізвищами методом вставок (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  23. Є інформація про деталь: назва, вага однієї деталі в кг, кількість, статус (замовлена чи ні). Визначити назви деталей, екземпляри яких найважчі та найлегші та розташувати інформацію у зростаючому порядку за вагою методом бульбашки (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  24. Є інформація про альбоми, видані музичним гуртом: назва, рік видання, кількість пісень, кількість кліпів, компанія, що виконувала звукозапис, тираж. Знайти компанію (компанії), з якою група працювала найбільше (за кількістю альбомів) та обчислити загальну кількість пісень і кліпів. Упорядкувати інформацію за тиражем методом мінімумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  25. Є інформація про видачу журналу читачам: назва журналу, видавництво, номер, прізвище читача, адреса, телефон. Знайти номер журналу, що видавався найбільшій кількості читачів, та упорядкувати послідовність за прізвищами читачів методом вставок (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  26. Є інформація про книги: прізвище автора, назва, рік видання, назва видавництва, кількість сторінок. Знайти назви книг даного автора, видані з 1990 по 1997 рік включно та упорядкувати інформацію за роком видання методом Шелла (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  27. У комп¢ютерній фірмі є інформація про товари (процесори, материнські плати, відеокарти, модулі пам’яті, жорсткі диски, корпуса, DVD-RW, монітори) в такому вигляді: назва товару, кількість одиниць товару, вхідна вартість одиниці товару, роздрібна ціна, гарантія (якщо є). Надрукувати конфігурації найдешевшого і найдорожчого комплектів (по роздрібній ціні) з цих груп товарів та знайти прибуток фірми від продажу таких комплектів. Упорядкувати інформацію за кількістю одиниць товару методом максимумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  28. Є інформація про експорт товарів: назва товару, країна експорту, кількість (шт), місяць поставки. Надрукувати країни, до яких експортувався даний товар із квітня по вересень та упорядкувати інформацію за назвою товару методом Quick Sort (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  29. Для групи футболістів визначено: прізвище, громадянство, вік, зріст, вага, амплуа, країна, де грає. Знайти наймолодшого нападника і найстаршого захисника та упорядкувати групу за віком методом обміну (бульбашки) (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  30. Є інформація про автомобілі: номер (5 знаків), прізвище власника, марка, рік випуску, об´єм двигуна. Знайти номери та прізвища власників автомобілів даної марки та упорядкувати послідовність за роком випуску автомобіля методом бульбашки (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  31. Є послідовність - інформація про автомобілі: номер (4 знаків), прізвище власника, марка, рік випуску, об´єм двигуна. Знайти власників автомобілів зі «щасливим» номером (сума перших 2-ох цифр дорівнює сумі останніх 2-ох цифр) та упорядкувати послідовність за об´ємом двигуна методом Шелла (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  32. Для групи футболістів визначено: прізвище, громадянство, вік, зріст, вага, амплуа, країна, де грає. Знайти найвищого воротаря і футболістів, які грають не в своїй країні та упорядкувати групу за схемою:

1 воротарі;

2 захисники;

3 напівзахисники;

4 нападники

методом мінімумів-максимумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.

  1. Для групи футболістів визначено: прізвище, громадянство, вік, зріст, вага, країна, де грає. Обчислити середній зріст і середню вагу всіх футболістів та знайти всіх футболістів, вік яких не перевищує 30 років. Упорядкувати групу в алфавітному порядку за прізвищами методом вставок (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  2. Є інформація про альбоми, що випустив музичний гурт: назва, рік виходу, кількість пісень, кількість кліпів, компанія, що виконувала звукозапис, тираж. Знайти найпопулярніший альбом гурту (з максимальним тиражем), сумарну кількість пісень і кліпів та упорядкувати альбоми за датою виходу методом максимумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  3. Є інформація про експорт товарів: країна, товар, кількість (шт), місяць поставки. Визначити країни, до яких даного товару експортувалося більше, ніж до інших, та упорядкувати інформацію за кількістю даного товару методом Quick Sort (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  4. Є послідовність - інформація про навчальний процес: номер (назва) групи, день тижня, вид заняття (практика чи лекція), назва предмета, прізвище викладача. Знайти прізвища викладачів, які не читають лекцій та упорядкувати послідовність за номерами груп методом Шелла (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  5. Є послідовність - інформація про навчальний процес: номер (назва) групи, день тижня, вид заняття (практика чи лекція), назва предмета, прізвище викладача. Знайти прізвища викладачів, які не проводять практичних занять та упорядкувати послідовність за прізвищем викладача методом Quick Sort (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  6. Є послідовність - інформація про речовину: назва, питома вага, тип провідника струму (провідник, напівпровідник, ізолятор). Знайти назви і вагу всіх напівпровідників, надрукувати дані про всі провідники та впорядкувати їх за зменшенням ваги методом вставок (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  7. Є послідовність - інформація про міжміські телефонні розмови: дата, код міста, тривалість розмови (хв.), тариф. Знайти місто, з яким у вересні розмовляли найчастіше та упорядкувати коди міст за зростанням методом бульбашки. Надрукувати у вигляді таблиці.
  8. Є інформація про одяг: тип одягу (пальто, плаття, костюм), колір (чорний, сірий, коричневий, різнокольоровий), розмір (36-52) та ціна у гривнях. Знайти кількість та сумарну ціну різнокольорових костюмів та упорядкувати інформацію за зростанням розмірів. методом мінімумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  9. Є набір кубиків: розмір (довжина ребра у сантиметрах), колір (червоний, жовтий, зелений, синій), матеріал (дерево, картон, залізо). Знайти кількість кубиків кожного із кольорів, сумарний об´єм кубиків та упорядкувати набір за матеріалом методом максимумів (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.
  10. Є послідовність транспортних засобів, що переправляються поромом. Для кожного транспортного засобу задано: порядковий номер, вид, кількість пасажирів та вартість переправи. За переправу поромом встановлена така ціна: велосипед - 1 грн, мотоцикл - 2 грн, автомобіль - 5 грн, вантажівка - 10 грн. Визначити кількість транспортних засобів даного виду та загальний прибуток паромника та упорядкувати послідовність за найбільшою кількістю пасажирів на транспортному засобі методом Шелла (з оцінкою ефективності методу). Надрукувати у вигляді таблиці.