Зміст
Задачі з структурами
Приклад
Структура Student:
- Прізвище (string)
- Рік народження (int)
- Стать (char)
Завдання
Ввести з клавіатури:
- кількість студентів у групі
- стать (по якій будемо виконувати вибір)
- дані про студента(прізвище, його рік народженя, його стать)
Знайти у цій групі:
- кількість студентів введеної статі
- наймолодшого студента введеної статі
- Якщо у групі всі іншої статі, вивести повідомлення
Результат роботи:
Програма:
#include <iostream>
#include <string>
using namespace std;
struct Student {
string surname; // прізвище
int birthYear; // рік народження
char gender; // стать
};
int main() {
int n, count = 0;
char targetGender;
cin >> n >> targetGender;
Student x, y; // x — поточний, y — наймолодший
bool found = false;
for (int i = 0; i < n; i++) {
cin.ignore();
getline(cin, x.surname);
cin >> x.birthYear >> x.gender;
if (x.gender == targetGender) {
count++;
// перший або молодший (більший рік)
if (!found || x.birthYear > y.birthYear) {
y = x;
found = true;
}
}
}
if (found) {
cout << "K=" << count << endl;
cout << y.surname << " "
<< y.birthYear << " "
<< y.gender;
} else {
cout << "No";
}
return 0;
}
Варіанти завдань
Варіант 1
Структура Avto:
- Марка (string)
- Вартість (int)
Завдання
- Ввести з клавіатури:
- кількість автомобілів
- марку автомобіля (по якій будемо виконувати вибір)
- дані про автомобіль(його марка, його вартість)
| Марка | Вартість |
| Marka1 | 1000 |
| Marka2 | 2000 |
| Marka3 | 3000 |
| Marka1 | 1500 |
| Marka2 | 2500 |
- Знайти:
- кількість автомобілів введеної марки
- середню вартість автомобілів введеної марки
Варіант 2
Структура Country:
- Назва (string)
- Кількість населення (int)
- Частина світу (string)
Завдання
- Ввести з клавіатури:
- кількість країн
- частину світу (по якій будемо виконувати вибір)
- дані про країни
| Країна | Населення | Частина світу |
| Country1 | 1000 | Asia |
| Country2 | 1500 | Europe |
| Country3 | 2000 | Asia |
| Country4 | 2500 | Europe |
- Знайти:
- кількість країн у введеній частині світу
- загальну кількість населення у країнах введеної частини світу.
Варіант 3
Структура Student:
- Прізвище (string)
- Курс (int)
- Оцінка_1 (int)
- Оцінка_2 (int)
Завдання
- Ввести з клавіатури:
- кількість студентів
- курс (по якому будемо виконувати вибір)
- дані про студента
| Прізвище | Курс | Оцінка1 | Оцінка2 |
| Surname1 | 1 | 3 | 4 |
| Surname2 | 1 | 5 | 4 |
| Surname3 | 1 | 2 | 3 |
| Surname4 | 2 | 5 | 5 |
- Знайти:
- кількість студентів на введеному курсі
- найкращого студента на введеному курсі за сумою двох оцінок.
Варіант 4
Структура Book:
- Прізвище автора (string)
- Назва (string)
- Рік видання (int)
- Вартість (int)
Завдання
- Ввести з клавіатури:
- кількість книжок
- рік видання (по якому будемо виконувати вибір)
- прізвище автора (по якому будемо виконувати вибір)
- дані про книжки
| Автор | Назва | Рік видання | Вартість |
| Author1 | Title1 | 2020 | 500 |
| Author1 | Title2 | 2019 | 200 |
| Author1 | Title3 | 2020 | 300 |
| Author2 | Title4 | 2020 | 100 |
- Знайти:
- кількість книг, виданих у введеному році.
- найдешевшу книгу введеного автора
Варіант 5
Структура Passenger:
- Прізвище (string)
- Номер рейсу (int)
- Вага багажу (int)
Завдання
- Ввести з клавіатури:
- кількість пасажирів
- номер рейсу (по якому будемо виконувати вибір)
- дані про пасажирів
| Прізвище | Номер рейсу | Багаж |
| Surname1 | 1 | 30 |
| Surname2 | 1 | 20 |
| Surname3 | 1 | 20 |
| Surname4 | 2 | 10 |
- Знайти:
- кількість пасажирів, які летять введеним рейсом
- загальну вагу багажу пасажирів введеного рейса
Варіант 6
Структура Meteo:
- День тижня (string)
- Температура (int)
- Опади (int). Якщо опадів немає, то 0.
Завдання
- Ввести з клавіатури:
- кількість днів
- дані про опади та температуру за день
| День тижня | Температура | Опади |
| День1 | -1 | 10 |
| День2 | 2 | 5 |
| День3 | 0 | 15 |
| День4 | -2 | 0 |
| День5 | 3 | 20 |
- Знайти:
- кількість днів, коли йшов сніг (якщо температура 0 і нижче та були опади).
- загальну кількість опадів у вигляді дощу (якщо температура більше 0).
Варіант 7
Структура Child:
- Прізвище (string)
- Стать (char)
- Хвороба (string)
- Скільки днів хворіє (int).
Завдання
- Ввести з клавіатури:
- кількість пацієнтів
- назву хвороби (по якій будемо виконувати вибір)
- дані про хворих дітей:
| Прізвище | Стать | Хвороба | Скільки днів |
| Surname1 | m | Bolezn1 | 5 |
| Surname2 | w | Bolezn2 | 10 |
| Surname3 | m | Bolezn1 | 3 |
| Surname4 | m | Bolezn2 | 12 |
| Surname5 | w | Bolezn1 | 8 |
- Визначити:
- хто більше хворіє: хлопчики чи дівчатка (за сумою днів)
- кількість дітей, які хворіють на введену хворобу.
Варіант 8
Структура Import:
- Назва товару (string)
- Країна імпортер (string)
- Кількість товару (int)
Завдання
- Ввести з клавіатури:
- кількість товарів
- назву країни (по якій будемо виконувати вибір)
- назву товару (по якому будемо виконувати вибір)
- дані про товари
| Товар | Країна | Кількість |
| Tovar1 | Country1 | 1000 |
| Tovar2 | Country2 | 2000 |
| Tovar1 | Country2 | 1500 |
| Tovar1 | Country3 | 1000 |
| Tovar2 | Country3 | 3000 |
- Знайти:
- загальний обсяг імпорту введеного товару.
- загальний обсяг імпорту з введеної країни.
Варіант 9
Структура Employee:
- Прізвище співробітника (string)
- Посада (string)
- Рік прийняття на роботу (int)
Завдання
- Ввести з клавіатури:
- кількість співробітників
- назву посади (по якій будемо виконувати вибір)
- поточний рік (за допомогою якого будемо обчислювати стаж роботи)
- дані про співробітника
| Прізвище | Посада | Рік |
| Surname1 | Posada1 | 2015 |
| Surname2 | Posada1 | 2016 |
| Surname3 | Posada2 | 2019 |
| Surname4 | Posada2 | 2014 |
| Surname5 | Posada1 | 2018 |
- Знайти:
- кількість працівників, які працюють на введеній посаді.
- співробітників, які працюють у фірмі більше трьох років.
Вивести прізвище, посаду та стаж роботи.
Варіант 10
Структура Export:
- Назва товару (string)
- Країна, в яку продається товар (string)
- Кількість товару (int)
- Ціна товару (int)
Завдання
- Ввести з клавіатури:
- кількість товарів
- назву країни (по якій будемо виконувати вибір)
- дані про товари
| Товар | Країна | Кількість | Ціна |
| Tovar1 | Country1 | 30 | 500 |
| Tovar1 | Country2 | 25 | 450 |
| Tovar2 | Country1 | 40 | 200 |
| Tovar2 | Country2 | 50 | 150 |
| Tovar2 | Country1 | 10 | 180 |
- Знайти:
- загальний обсяг експорту до введеної країни в грошовому еквіваленті (кількість помножити на ціну і все скласти).
- найдешевший товар, який продається у введену країну
Варіант 11
Структура Toy:
- Артикул (int) (артикул - це будь-яке тризначне число).
- Назва іграшки(string). Можливо кілька іграшок з однаковою назвою, але з різними артикулами
- Ціна іграшки (int)
- Вік1 (int)
- Вік2 (int).
Кожна іграшка підходить дітям віком від Вік1 до Вік2 включно.
Завдання
- Ввести з клавіатури:
- кількість іграшок
- назву іграшки (по якій будемо виконувати вибір)
- вік дитини (по якому будемо виконувати вибір)
- дані про іграшки
| Артикул | Назва | Ціна | Вік1 | Вік2 |
| 111 | toy1 | 30 | 3 | 5 |
| 222 | toy2 | 10 | 3 | 7 |
| 333 | toy1 | 40 | 5 | 10 |
| 444 | toy2 | 15 | 1 | 5 |
| 555 | toy1 | 20 | 5 | 8 |
- Знайти:
- кількість іграшок які підходять дітям введеного віку
- найдешевшу іграшку з введеною назвою
Варіант 12
Структура Sportsman:
- Прізвище спортсмена (string)
- Країна (string)
- Рік народження (int)
Завдання
- Ввести з клавіатури:
- кількість спортсменів
- назву країни (по якій будемо виконувати вибір)
- дані про спортсменів
| Прізвище | Країна | Рік народження |
| Surname1 | Country1 | 1999 |
| Surname2 | Country2 | 2000 |
| Surname3 | Country1 | 2003 |
| Surname4 | Country2 | 2004 |
| Surname5 | Country1 | 2001 |
- Знайти:
- кількість спортсменів з введеної країни
- наймолодшого спортсмена з введеної країни
Варіант 13
Структура Sportsman:
- Прізвище спортсмена (string)
- Рік народження (int)
- Вага (int)
Завдання
- Ввести з клавіатури:
- кількість спортсменів
- рік народження (по якому будемо виконувати вибір)
- дані про спортсменів
| Прізвище | Рік народження | Вага |
| Surname1 | 2000 | 90 |
| Surname2 | 2000 | 87 |
| Surname3 | 2001 | 100 |
| Surname4 | 2000 | 99 |
| Surname5 | 2001 | 95 |
- Знайти:
- кількість спортсменів з введеним роком народження
- прізвище спортсмена, який має найбільшу вагу,
серед тих спортсменів, які народилися у введеному році
Варіант 14
Структура Boxer:
- Прізвище боксера (string)
- Кількість перемог (int)
- Прізвище тренера (string).
Кожен боксер займається в одного тренера, в одного тренера займаються кілька боксерів.
Завдання
- Ввести з клавіатури:
- кількість боксерів
- прізвище тренера (по якому будемо виконувати вибір)
- дані про боксера
| Прізвище спортсмена | Кількість перемог | Прізвище тренера |
| Surname1 | 5 | Trener1 |
| Surname2 | 3 | Trener1 |
| Surname3 | 6 | Trener2 |
| Surname4 | 7 | Trener1 |
| Surname5 | 9 | Trener2 |
- Знайти:
- кількість боксерів, які тренуються у введеного тренера
- прізвище боксера, який має найбільшу кількість перемог, серед тих боксерів,
які тренуються у введеного тренера
Варіант 15
Структура Discipline:
- Назва предмета (string)
- Кількість годин викладається (int)
- Назва кафедри (string).
Кожен предмет викладається на одній кафедрі,
на кожній кафедрі викладається кілька предметів.
Завдання
- Ввести з клавіатури:
- кількість предметів
- назву кафедри (по якій будемо виконувати вибір)
- дані про предмети
| Назва предмета | Кількість годин | Назва кафедри |
| Predmet1 | 100 | Kafedra1 |
| Predmet2 | 140 | Kafedra1 |
| Predmet3 | 120 | Kafedra2 |
| Predmet4 | 100 | Kafedra1 |
| Predmet5 | 90 | Kafedra2 |
- Знайти:
- кількість предметів, що викладаються введеною кафедрою
- загальне навантаження (загальна кількість годин) по введеній кафедрі
Варіант 16
Структура Discipline:
- Назва предмета (string)
- Прізвище викладача (string)
- Кількість годин (int).
Кожен предмет може викладатися кількома викладачами.
Кожен викладач може викладати кілька предметів.
Завдання
- Ввести з клавіатури:
- кількість предметів
- назву предмета (по якій будемо виконувати вибір)
- прізвище викладача (по якому будемо виконувати вибір)
- дані про предмети
| Назва предмета | Прізвище викладача | Кількість годин |
| Predmet1 | Surname1 | 40 |
| Predmet2 | Surname1 | 50 |
| Predmet1 | Surname2 | 50 |
| Predmet1 | Surname3 | 70 |
| Predmet2 | Surname2 | 60 |
- Знайти:
- кількість викладачів, що викладають введений предмет
- загальне навантаження (загальна кількість годин) введеного викладача
Зміст