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



1. З клавіатури ввести прямокутну матрицю дійсних чисел. Циклічно зсунути її рядки на один униз. Підказка: циклічне зсування передбачає, що елементи останнього рядка матриці заносяться на відповідні місця зсунених елементів першого рядка. Перевірити, чи першим став рядок з найменшою сумою елементів.

2. Ввести набір символьних рядків, кожен з яких задає певну дату у формі: День.Місяць.Рік, наприклад: 16.5.13, 7.11.1998, 2.10.05 (відомо, що неповні роки відносяться до поточного століття). Замінити введені дати повними: День Найменування_місяця Рік (рік має бути чотири­цифровим) , наприклад 16 травня 2013 р. та надрукувати їх. Підказка: найкраще створити додатковий рядок із повною датою і потім перенести його на місце введеного короткого.

3. Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими трицифровими числами матрицю заданої розмірності. Визначити номери рядків сформованої матриці, в яких зустрічається хоча б один елемент з її першого рядка, або вивести повідомлення про відсутність повторень елементів першого рядка.

4. Ввести послідовність символьних рядків, у кожному з яких записано прізвище, ім’я та по-батькові одного студента. Визначити і запам’ятати стать кожного студента. Скоротити введені рядки, залишивши тільки прізвище та ініціали, за якими в дужках треба вказати стать цього студента. Надрукувати отриманий список. 

5. Виділити місце для матриці розмірністю 3 ´ N (N >10 оголосити як макро­константу або константу мови С), елементи якої є однобайтовими числами. Перший та другий рядки матриці заповнити випадковими числами з діапазону 0..6, перші елементи цих рядків мають бути нулями. Сформовані рядки є сімковими кодами двох цілих чисел. Третій рядок треба заповнити сімковими цифрами суми цих чисел. Результат подати як додавання чисел у стовпчик.

6. Ввести послідовність символьних рядків. Потім визначити, які з ведених рядків є паліндромами, тобто однаково читаються зліва направо та справа наліво (великі й малі літери у паліндромах не розрізняються, пробіли пропускаються). Надрукувати всі паліндроми або вказати, що серед ведених рядків їх немає.

7. Ввести прямокутну матрицю дійсних чисел заданої розмірності. Визначити номери двох рядків введеної матриці, скалярний добуток яких найменший. Підказка: скалярний добуток дорівнює сумі попарних добутків елементів, що мають однакові номери в рядках.

8. Ввести послідовність символьних рядків. Зашифрувати введені рядки, замінивши кожну літеру іншою, розташованою в абетці на q позицій далі. Символи, що не є літерами, не шифрувати. Для першого рядка q = 1, а для кожного наступного зростає на 1. Якщо код нового символа виходить за межі абетки, то рахунок продовжують від початку абетки (приклад: ABXZ ® BCXZ у разі q = 1 ). Надрукувати зашифрований текст. Потім виконати дешифру­вання рядків і порівняти з введеним текстом. Підказка: найкраще скористатися окремим масивом літер абетки.

9. З клавіатури вести прямокутну матрицю дійсних чисел. Перевірити, чи елементи кожного рядка введеної матриці впорядковані за спаданням значень. Якщо ні, то вказати номери хибних рядків. Якщо ж матриця впорядкована, то ввести ще одне дійсне число, яке вставити у кожен рядок матриці так, щоби збереглася впорядкованість цього рядка.

10. Ввести послідовність символьних рядків, кожен з яких має форму: XXYYYYZZZ…, де X,Y,Z – довільні символи, але не цифри. Перетворити ведені рядки до вигляду: 2X4Y3Z…  (перед кожним символом вказується кількість його повторень). Надрукувати перетворені рядки та вказати у скільки раз скоротився кожен з них. Який із рядків скоротився найбільше?  

11. Виділити місце для матриці розмірністю R ´ S (R та S оголосити як макро­конс­танти або константи мови С), елементи якої є однобайтовими числами. Заповнити матрицю випадковими числами, що мають значення 0 або 1. Сформовані рядки матриці є двійковими кодами R цілих чисел. Визначити десяткове значення кожного з цих чисел.

12. По одному ввести послідовність слів. Роздрукувати введені слова групами, кожна з яких повинна складатись із тих введених слів, три перші літери яких збігаються.

13. Ввести прямокутну матрицю дійсних чисел. Попарно поміняти місцями елементи рядків матриці з відповідно найбільшою і найменшою сумою елементів. Окремо вказати номери переставлених рядків.

14. Ввести послідовність речень і ключове слово. Визначити речення, які містять задане ключове слово або вивести повідомлення про відсутність таких речень. В програмі треба врахувати, що великі й малі літери для ключового слова не розрізняються, а також що ключове слово не повинно бути частиною іншого слова. 

15.  Виділити місце для матриці розмірністю 5 ´ В (В >20 оголосити як макро­конс­танту або константу мови С), елементи якої є однобайтовими числами. Перший та другий рядки матриці заповнити випадковими чином цифрами 0 та 1. Сформовані рядки є двійковими кодами двох цілих чисел. Наступні три рядки треба заповнити результатами булевих операцій: & , | та ^ над відповідними розрядами цих чисел. Результат вивести в наочній формі.

16. Ввести послідовність символьних рядків, кожен з яких є 16-м кодом довгого беззнакового числа. Обчислити десяткове значення кожного з цих чисел і вивести на екран таблицю 16-х кодів та їхніх десяткових значень. Якщо ж код містив хибні символи, то його значення не рахувати, а в таблиці зазначити помилковість цього коду.

17. Ввести прямокутну матрицю дійсних чисел. Вилучити з матриці рядок і стовпчик, на перетині яких знаходиться її найменший елемент. Надруку­вати скорочену матрицю.

18. Ввести набір символьних рядків, кожен з яких задає певну дату у формі: День Найменування_місяця Рік  (всі дати мають належати поточному століттю). Замінити введені дати скороченими формами: День.Місяць.Рік, наприклад: 6 вересня 2018 р. ® 06.09.18 та надрукувати їх. Підказка: найкраще створити додатковий рядок із скороченою датою і потім перенести його на місце введеного.

19. Ввести прямокутну матрицю дійсних чисел. Циклічно зсунути її рядки на один догори. Для отриманої матриці визначити номер, добуток елементів якого найменший. Підказка: циклічне зсування означає, що елементи зсуненого першого рядка заносяться на відповідні місця зсунених елементів останнього рядка матриці.

20. Ввести послідовність речень. Визначити найдовше слово серед усіх слів введених речень. Речення з цим словом надрукувати великими літерами.

21. Використовуючи стандартні бібліотечні функції генерування випадкових чисел, заповнити випадковими двоцифровими числами матрицю розмірності M ´ N ( M та N оголосити як макро­конс­танти або константи мови С). Забезпечити, щоб у кожному рядку матриці всі елементи мали різні значення. Окремо зазначити найбільший і найменший серед згенерованих елементів.

22. Ввести послідовність символьних рядків, кожен з яких має форму: A3B4C2… . Перетворити ведені рядки до вигляду: AAABBBBCC… (цифра після символу у введеному рядку задає кількість повторень цього символу). Надрукувати перетворені рядки та вказати у скільки раз збільшився кожен з них. Підказка: найкраще створити новий рядок потрібної форми, а потім переписати його на місце заданого.

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

24. З клавіатури по одному ввести послідовність слів. Надрукувати пари з введених слів, які складаються з однакових літер без огляду на кількість їхніх повторень (наприклад: рак – кара) або зазначити, що таких пар немає.

25. З клавіатури вести прямокутну матрицю дійсних чисел. Перевірити, чи елементи кожного стовпчика введеної матриці впорядковані за зростанням значень. Якщо ні, то вказати номери хибних стовпців. Якщо ж матриця впорядкована, то ввести ще одне дійсне число, яке вставити у кожен стовпчик матриці так, щоби збереглася впорядкованість стовпців.

26. Ввести послідовність символьних рядків. Зашифрувати введені рядки і надрукувати зашифрований текст. Для шифрування треба замінити кожну літеру в рядках іншою, розташованою в абетці на k позицій лівіше (значення k задає користувач). Якщо код нового символа виходить за ліву межу абетки, то пошук потрібного символа продовжують циклічно з кінця абетки (приклад: azure ® zytqd , якщо k = 1). Символи, що не є літерами, пропускаються. Потім виконати дешифру­вання тексту і перевірити правильність алгоритму. Підказка: найкраще скористатися окремим масивом літер абетки.

27. Ввести прямокутну матрицю дійсних чисел. Вилучити матриці з кожного рядка матриці найбільший елемент, посунувши всі наступні за ним. Надруку­вати скорочену матрицю і вказати номер її рядка, добуток елементів якого найменший.

28. Виділити місце для матриці розмірністю 4 ´ D, елементи якої є однобайто­вими числами (D >15 оголосити як макро­константу або константу мови С). Перший та другий рядки матриці заповнити випадковими числами з діапазону 0..4, встановивши перші елементи цих рядків рівними нулю. Сформовані рядки є п’ятірковими кодами двох цілих чисел. Третій рядок треба заповнити п’ятірковими цифрами суми цих чисел, а четвертий – п’ятірковими цифрами різниці чисел. Надрукувати отриману матрицю.

29. Ввести послідовність українських речень. Визначити, в якому з них найменше слів. Надрукувати це речення заголовними літерами. Підказка: скористатись масивом великих і малих літер української абетки.

30. Ввести послідовність символьних рядків, кожен з яких є двійковим кодом цілого беззнакового числа. Обчислити десяткове значення кожного з цих чисел та вивести на екран таблицю двійкових кодів і відповідних десяткових значень. Відзначити число з найбільшою кількістю двійкових одиниць.

Лабораторна робота № 15

ОПРАЦЮВАННЯ СТРУКТУР

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

Завдання лабораторної роботи

1. Проаналізувати дані, які мають бути опрацьовані в програмі, та визначити форму і склад полів відповідної структури чи структур.

2. Оголосити шаблон (шаблони) структур і через декларацію typedef надати кожному шаблону власне найменування.

3. Створити масив, елементами якого будуть відповідні структури, та занести в нього дані, що вводяться у процесі реалізації програми. Організувати циклічне введення вхідних даних, яке має супроводжуватися необхідними повідомленнями і підказками.

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

5. Роздрукувати введені дані у формі таблиці, яка повинна мати відповідний заголовок. Розрахувати й вибрати зручну для сприйняття ширину колонок таблиці та форму відображення даних.

6. Виконати над даними структур дії, вказані в індивідуальному завданні. Якщо для впорядкування дані потрібно відсортувати, то слід застосувати один із відомих методів сортування. Якщо ж задача вимагає групування даних, то їх треба переставити так, щоб утворилися групи із вказаними параметрами, але без алгоритмів сортування.

7. У звертаннях до полів структур у програмі обов’язково використати обидві операції: “крапка” та “стрілка”.

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

9. Оформити звіт про виконання лабораторної роботи, в якому, крім обов’язкової інформації, для кожної реалізації програми навести всі дані, що вводилися, та відповідні екранограми результатів виконання.


Дата добавления: 2018-04-15; просмотров: 1666; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!