Зміст

Задачі з структурами

Приклад

Структура Student:

Завдання

Ввести з клавіатури:

Знайти у цій групі:

Результат роботи:

Програма:


#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:

Завдання

  1. Ввести з клавіатури:
  2. Знайти:

Варіант 2

Структура Country:

Завдання

  1. Ввести з клавіатури:
    1. кількість країн
    2. частину світу (по якій будемо виконувати вибір)
    3. дані про країни
      КраїнаНаселенняЧастина світу
      Country11000Asia
      Country21500Europe
      Country32000Asia
      Country42500Europe
  2. Знайти:
    1. кількість країн у введеній частині світу
    2. загальну кількість населення у країнах введеної частини світу.

Варіант 3

Структура Student:

  1. Прізвище (string)
  2. Курс (int)
  3. Оцінка_1 (int)
  4. Оцінка_2 (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість студентів
    2. курс (по якому будемо виконувати вибір)
    3. дані про студента
      ПрізвищеКурсОцінка1Оцінка2
      Surname1134
      Surname2154
      Surname3123
      Surname4255
  2. Знайти:
    1. кількість студентів на введеному курсі
    2. найкращого студента на введеному курсі за сумою двох оцінок.

Варіант 4

Структура Book:

  1. Прізвище автора (string)
  2. Назва (string)
  3. Рік видання (int)
  4. Вартість (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість книжок
    2. рік видання (по якому будемо виконувати вибір)
    3. прізвище автора (по якому будемо виконувати вибір)
    4. дані про книжки
      АвторНазваРік виданняВартість
      Author1Title12020500
      Author1Title22019200
      Author1Title32020300
      Author2Title42020100
  2. Знайти:
    1. кількість книг, виданих у введеному році.
    2. найдешевшу книгу введеного автора

Варіант 5

Структура Passenger:

  1. Прізвище (string)
  2. Номер рейсу (int)
  3. Вага багажу (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість пасажирів
    2. номер рейсу (по якому будемо виконувати вибір)
    3. дані про пасажирів
      ПрізвищеНомер рейсуБагаж
      Surname1130
      Surname2120
      Surname3120
      Surname4210
  2. Знайти:
    1. кількість пасажирів, які летять введеним рейсом
    2. загальну вагу багажу пасажирів введеного рейса

Варіант 6

Структура Meteo:

  1. День тижня (string)
  2. Температура (int)
  3. Опади (int). Якщо опадів немає, то 0.

Завдання

  1. Ввести з клавіатури:
    1. кількість днів
    2. дані про опади та температуру за день
      День тижняТемператураОпади
      День1-110
      День2 2 5
      День3 015
      День4-2 0
      День5 320
  2. Знайти:
    1. кількість днів, коли йшов сніг (якщо температура 0 і нижче та були опади).
    2. загальну кількість опадів у вигляді дощу (якщо температура більше 0).

Варіант 7

Структура Child:

  1. Прізвище (string)
  2. Стать (char)
  3. Хвороба (string)
  4. Скільки днів хворіє (int).

Завдання

  1. Ввести з клавіатури:
    1. кількість пацієнтів
    2. назву хвороби (по якій будемо виконувати вибір)
    3. дані про хворих дітей:
      ПрізвищеСтатьХворобаСкільки днів
      Surname1mBolezn15
      Surname2wBolezn210
      Surname3mBolezn13
      Surname4mBolezn212
      Surname5wBolezn18
  2. Визначити:
    1. хто більше хворіє: хлопчики чи дівчатка (за сумою днів)
    2. кількість дітей, які хворіють на введену хворобу.

Варіант 8

Структура Import:

  1. Назва товару (string)
  2. Країна імпортер (string)
  3. Кількість товару (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість товарів
    2. назву країни (по якій будемо виконувати вибір)
    3. назву товару (по якому будемо виконувати вибір)
    4. дані про товари
      ТоварКраїнаКількість
      Tovar1Country11000
      Tovar2Country22000
      Tovar1Country21500
      Tovar1Country31000
      Tovar2Country33000
  2. Знайти:
    1. загальний обсяг імпорту введеного товару.
    2. загальний обсяг імпорту з введеної країни.

Варіант 9

Структура Employee:

  1. Прізвище співробітника (string)
  2. Посада (string)
  3. Рік прийняття на роботу (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість співробітників
    2. назву посади (по якій будемо виконувати вибір)
    3. поточний рік (за допомогою якого будемо обчислювати стаж роботи)
    4. дані про співробітника
      ПрізвищеПосадаРік
      Surname1Posada12015
      Surname2Posada12016
      Surname3Posada22019
      Surname4Posada22014
      Surname5Posada12018
  2. Знайти:
    1. кількість працівників, які працюють на введеній посаді.
    2. співробітників, які працюють у фірмі більше трьох років. Вивести прізвище, посаду та стаж роботи.

Варіант 10

Структура Export:

  1. Назва товару (string)
  2. Країна, в яку продається товар (string)
  3. Кількість товару (int)
  4. Ціна товару (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість товарів
    2. назву країни (по якій будемо виконувати вибір)
    3. дані про товари
      ТоварКраїнаКількістьЦіна
      Tovar1Country130500
      Tovar1Country225450
      Tovar2Country140200
      Tovar2Country250150
      Tovar2Country110180
  2. Знайти:
    1. загальний обсяг експорту до введеної країни в грошовому еквіваленті (кількість помножити на ціну і все скласти).
    2. найдешевший товар, який продається у введену країну

Варіант 11

Структура Toy:

  1. Артикул (int) (артикул - це будь-яке тризначне число).
  2. Назва іграшки(string). Можливо кілька іграшок з однаковою назвою, але з різними артикулами
  3. Ціна іграшки (int)
  4. Вік1 (int)
  5. Вік2 (int).

    Кожна іграшка підходить дітям віком від Вік1 до Вік2 включно.

Завдання

  1. Ввести з клавіатури:
    1. кількість іграшок
    2. назву іграшки (по якій будемо виконувати вибір)
    3. вік дитини (по якому будемо виконувати вибір)
    4. дані про іграшки
      АртикулНазваЦінаВік1Вік2
      111toy13035
      222toy21037
      333toy140510
      444toy21515
      555toy12058
  2. Знайти:
    1. кількість іграшок які підходять дітям введеного віку
    2. найдешевшу іграшку з введеною назвою

Варіант 12

Структура Sportsman:

  1. Прізвище спортсмена (string)
  2. Країна (string)
  3. Рік народження (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість спортсменів
    2. назву країни (по якій будемо виконувати вибір)
    3. дані про спортсменів
      ПрізвищеКраїнаРік народження
      Surname1Country11999
      Surname2Country22000
      Surname3Country12003
      Surname4Country22004
      Surname5Country12001
  2. Знайти:
    1. кількість спортсменів з введеної країни
    2. наймолодшого спортсмена з введеної країни

Варіант 13

Структура Sportsman:

  1. Прізвище спортсмена (string)
  2. Рік народження (int)
  3. Вага (int)

Завдання

  1. Ввести з клавіатури:
    1. кількість спортсменів
    2. рік народження (по якому будемо виконувати вибір)
    3. дані про спортсменів
      ПрізвищеРік народженняВага
      Surname1200090
      Surname2200087
      Surname32001100
      Surname4200099
      Surname5200195
  2. Знайти:
    1. кількість спортсменів з введеним роком народження
    2. прізвище спортсмена, який має найбільшу вагу, серед тих спортсменів, які народилися у введеному році

Варіант 14

Структура Boxer:

  1. Прізвище боксера (string)
  2. Кількість перемог (int)
  3. Прізвище тренера (string). Кожен боксер займається в одного тренера, в одного тренера займаються кілька боксерів.

Завдання

  1. Ввести з клавіатури:
    1. кількість боксерів
    2. прізвище тренера (по якому будемо виконувати вибір)
    3. дані про боксера
      Прізвище спортсменаКількість перемог Прізвище тренера
      Surname15Trener1
      Surname23Trener1
      Surname36Trener2
      Surname47Trener1
      Surname59Trener2
  2. Знайти:
    1. кількість боксерів, які тренуються у введеного тренера
    2. прізвище боксера, який має найбільшу кількість перемог, серед тих боксерів, які тренуються у введеного тренера

Варіант 15

Структура Discipline:

  1. Назва предмета (string)
  2. Кількість годин викладається (int)
  3. Назва кафедри (string).

    Кожен предмет викладається на одній кафедрі, на кожній кафедрі викладається кілька предметів.

Завдання

  1. Ввести з клавіатури:
    1. кількість предметів
    2. назву кафедри (по якій будемо виконувати вибір)
    3. дані про предмети
      Назва предметаКількість годинНазва кафедри
      Predmet1100Kafedra1
      Predmet2140Kafedra1
      Predmet3120Kafedra2
      Predmet4100Kafedra1
      Predmet590Kafedra2
  2. Знайти:
    1. кількість предметів, що викладаються введеною кафедрою
    2. загальне навантаження (загальна кількість годин) по введеній кафедрі

Варіант 16

Структура Discipline:

  1. Назва предмета (string)
  2. Прізвище викладача (string)
  3. Кількість годин (int).

    Кожен предмет може викладатися кількома викладачами. Кожен викладач може викладати кілька предметів.

Завдання

  1. Ввести з клавіатури:
    1. кількість предметів
    2. назву предмета (по якій будемо виконувати вибір)
    3. прізвище викладача (по якому будемо виконувати вибір)
    4. дані про предмети
      Назва предметаПрізвище викладачаКількість годин
      Predmet1Surname140
      Predmet2Surname150
      Predmet1Surname250
      Predmet1Surname370
      Predmet2Surname260
  2. Знайти:
    1. кількість викладачів, що викладають введений предмет
    2. загальне навантаження (загальна кількість годин) введеного викладача

Зміст