Задачі: Структури
Практичні задачі на тему структур у мові C.
Формат задач
Кожна задача вимагає написати повну програму: зчитати дані з консолі,
обробити їх і вивести результат.
Прості структури
Задача 1: Книга
Оголоси структуру Book з полями: назва, автор, рік видання.
Зчитай дані про книгу з консолі та виведи у форматі:
"Title" by Author (Year)
Приклад:
Enter title: Kobzar
Enter author: Taras Shevchenko
Enter year: 1840
"Kobzar" by Taras Shevchenko (1840)
Задача 2: Товар
Оголоси структуру Product з полями: назва, ціна, кількість.
Зчитай дані та виведи загальну вартість (ціна × кількість).
Приклад:
Enter name: Apple
Enter price: 25.50
Enter quantity: 10
Total: 255.00 UAH
Задача 3: Точка
Оголоси структуру Point для 2D точки (x, y).
Зчитай координати точки та обчисли відстань від початку координат.
\[d = \sqrt{x^2 + y^2}\]
Приклад:
Enter x: 3
Enter y: 4
Distance from origin: 5.00
Задача 4: Час
Оголоси структуру Time (години, хвилини, секунди).
Зчитай час та виведи загальну кількість секунд з початку доби.
Приклад:
Enter hours: 2
Enter minutes: 30
Enter seconds: 45
Total seconds: 9045
Задача 5: Прямокутник
Оголоси структуру Rectangle (ширина, висота).
Зчитай розміри та виведи площу і периметр.
Приклад:
Enter width: 5
Enter height: 3
Area: 15.00
Perimeter: 16.00
Дві структури
Задача 6: Відстань між точками
Зчитай координати двох точок та обчисли відстань між ними.
\[d = \sqrt{(x_2-x_1)^2 + (y_2-y_1)^2}\]
Приклад:
Point 1 - Enter x: 0
Point 1 - Enter y: 0
Point 2 - Enter x: 3
Point 2 - Enter y: 4
Distance: 5.00
Задача 7: Різниця часу
Зчитай два моменти часу та обчисли різницю в секундах.
Приклад:
Time 1 - hours: 10
Time 1 - minutes: 30
Time 1 - seconds: 0
Time 2 - hours: 12
Time 2 - minutes: 0
Time 2 - seconds: 45
Difference: 5445 seconds
Задача 8: Порівняння цін
Зчитай дані про два товари та виведи, який дорожчий.
Приклад:
Product 1 - name: Apple
Product 1 - price: 25.50
Product 2 - name: Banana
Product 2 - price: 30.00
Banana is more expensive
Задача 9: Комплексні числа
Зчитай два комплексні числа та виведи їх суму.
\[(a + bi) + (c + di) = (a+c) + (b+d)i\]
Приклад:
Complex 1 - real: 3
Complex 1 - imag: 4
Complex 2 - real: 1
Complex 2 - imag: -2
Sum: 4 + 2i
Задача 10: Більший прямокутник
Зчитай два прямокутники та виведи, який має більшу площу.
Приклад:
Rectangle 1 - width: 5
Rectangle 1 - height: 3
Rectangle 2 - width: 4
Rectangle 2 - height: 4
Rectangle 2 is larger (area: 16.00)
Масиви структур
Задача 11: Список студентів
Зчитай дані про 3 студентів (ім'я, бал) та виведи їх у таблиці.
Приклад:
Student 1 - name: Ivan
Student 1 - grade: 85
Student 2 - name: Maria
Student 2 - grade: 92
Student 3 - name: Petro
Student 3 - grade: 78
Results:
1. Ivan - 85
2. Maria - 92
3. Petro - 78
Задача 12: Найкращий студент
Зчитай дані про 3 студентів та знайди студента з найвищим балом.
Приклад:
Student 1 - name: Ivan
Student 1 - grade: 85
Student 2 - name: Maria
Student 2 - grade: 92
Student 3 - name: Petro
Student 3 - grade: 78
Best student: Maria (92)
Задача 13: Середній бал
Зчитай дані про 3 студентів та обчисли середній бал групи.
Приклад:
Student 1 - name: Ivan
Student 1 - grade: 85
Student 2 - name: Maria
Student 2 - grade: 92
Student 3 - name: Petro
Student 3 - grade: 78
Average grade: 85.00
Задача 14: Склад товарів
Зчитай дані про 3 товари (назва, ціна, кількість) та обчисли
загальну вартість складу.
Приклад:
Product 1 - name: Apple
Product 1 - price: 25.50
Product 1 - quantity: 100
Product 2 - name: Banana
Product 2 - price: 30.00
Product 2 - quantity: 50
Product 3 - name: Orange
Product 3 - price: 35.00
Product 3 - quantity: 75
Total warehouse value: 6675.00 UAH
Задача 15: Найдешевший товар
Зчитай дані про 3 товари та знайди найдешевший.
Приклад:
Product 1 - name: Apple
Product 1 - price: 25.50
Product 2 - name: Banana
Product 2 - price: 30.00
Product 3 - name: Orange
Product 3 - price: 22.00
Cheapest: Orange (22.00 UAH)
Вкладені структури
Задача 16: Студент з датою народження
Оголоси структури Date і Student (з вкладеною датою).
Зчитай дані та виведи інформацію про студента.
Приклад:
Enter name: Ivan
Enter day: 15
Enter month: 3
Enter year: 2008
Ivan was born on 15.03.2008
Задача 17: Відрізок
Оголоси структуру Segment з двома точками (початок і кінець).
Зчитай координати та обчисли довжину відрізка.
Приклад:
Start point - x: 0
Start point - y: 0
End point - x: 3
End point - y: 4
Segment length: 5.00
Задача 18: Замовлення
Оголоси структури Product і Order (товар + кількість).
Зчитай дані та обчисли вартість замовлення.
Приклад:
Product name: Laptop
Product price: 25000
Order quantity: 3
Order total: 75000.00 UAH
Задача 19: Прямокутник за точками
Оголоси структуру Rectangle з двома точками (лівий нижній і правий
верхній кути). Зчитай координати та обчисли площу.
Приклад:
Bottom-left - x: 0
Bottom-left - y: 0
Top-right - x: 5
Top-right - y: 3
Area: 15.00
Задача 20: Подія в календарі
Оголоси структури Date, Time і Event (назва, дата, час).
Зчитай дані та виведи інформацію про подію.
Приклад:
Event name: Meeting
Date - day: 25
Date - month: 12
Date - year: 2024
Time - hours: 14
Time - minutes: 30
Event: Meeting
When: 25.12.2024 at 14:30