DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

Інформація про навчальний заклад

ВУЗ:
Національний авіаційний університет
Інститут:
Не вказано
Факультет:
Комп’ютеризовані системи
Кафедра:
Не вказано

Інформація про роботу

Рік:
2025
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Захист інформації

Частина тексту файла (без зображень, графіків і формул):

НАЦІОНАЛЬНИЙ АВІАЦІЙНИЙ УНІВЕРСИТЕТ Кафедра комп’ютеризованих систем захисту інформації ЗВІТ  З ЛАБОРАТОРНОЇ РОБОТИ №3 з дисципліни «Технології програмування» Київ 2023 Тема: Структури. Вкладені структури. Масиви структур. Мета: Навчитись використовувати структури, вкладені структури та створювати масиви структур. Варіант №12. 1. Визначити структуру з іменем APRT1, яка містить наступні поля: Кількість кімнат; Поверх; Площа; 2. Визначити структуру з іменем APRT2, яка містить наступні поля: Адреса; Кількість людей, які проживають в квартирі; 3. Визначити структуру з іменем APARTMENTS, елементами якої є елементи структур APART1 та APART2. 4. Ввести з клавіатури дані в масив, який складається з N структур типу APARTMENTS. 5. Сортувати записи за адресами в алфавітному порядку. 6. Обрати найменшу площу серед квартир. 7. Визначити максимальну кількість кімнат на найвищому поверсі з запропонованих квартир. 8. Обрати найбільш густонаселену квартиру. 9. Вивести на екран інформацію про квартиру за введеною з клавіатури адреси. Якщо такої квартири немає, вивести відповідне повідомлення на екран. Код програми: #include <iostream> #include <algorithm> #include <string> #include <windows.h> using namespace std; struct APRT1 { int num_rooms; int floor; float area; }; struct APRT2 { string address; int num_people; }; struct APARTMENTS { APRT1 apartment1; APRT2 apartment2; }; bool compareApartments(APARTMENTS a1, APARTMENTS a2) { return a1.apartment2.address < a2.apartment2.address; } int main() { SetConsoleCP(1251); SetConsoleOutputCP(1251); const int N = 4; APARTMENTS apartments[N]; // Ввести дані в масив структур for (int i = 0; i < N; i++) { cout << "Квартира #" << i + 1 << endl; cout << "Кількість кімнат: "; cin >> apartments[i].apartment1.num_rooms; cout << "Поверх: "; cin >> apartments[i].apartment1.floor; cout << "Площа: "; cin >> apartments[i].apartment1.area; cout << "Адреса: "; cin.ignore(); getline(cin, apartments[i].apartment2.address); cout << "Кількість людей, які проживають в квартирі: "; cin >> apartments[i].apartment2.num_people; cout << endl; } // Сортування за адресами в алфавітному порядку sort(apartments, apartments + N, compareApartments); // Пошук квартири з найменшою площею float min_area = apartments[0].apartment1.area; for (int i = 1; i < N; i++) { if (apartments[i].apartment1.area < min_area) { min_area = apartments[i].apartment1.area; } } // Пошук максимальної кількості кімнат на найвищому поверсі int max_rooms = 0; for (int i = 0; i < N; i++) { if (apartments[i].apartment1.floor == apartments[N - 1].apartment1.floor) { if (apartments[i].apartment1.num_rooms > max_rooms) { max_rooms = apartments[i].apartment1.num_rooms; } } } // Пошук найбільш густонаселеної квартири int max_people = 0; int index_max_people = 0; for (int i = 0; i < N; i++) { if (apartments[i].apartment2.num_people > max_people) { max_people = apartments[i].apartment2.num_people; index_max_people = i; } } // Виведення на екран інформації про квартиру за введеною адресою cout << "Введіть адресу квартири: "; string search_address; cin.ignore(); getline(cin, search_address); bool found = false; for (int i = 0; i < N; i++) { if (apartments[i].apartment2.address == search_address) { found = true; cout << "Квартира знайдена:" << endl << "Кількість кімнат: " << apartments[i].apartment1.num_rooms << endl << "Поверх: " << apartments[i].apartment1.floor << endl << "Площа: " << apartments[i].apartment1.area << endl << "Адреса: " << apartments[i].apartment2.address << endl << "Кількість людей, які проживають в квартирі: " << apartments[i].apartment2.num_people << endl; break; } } if (!found) { cout << "Квартира не знайдена." << endl; } // Виведення результатів cout << endl << "Сортування в алфавітному порядку:" << endl; for (int i = 0; i < N; i++) { cout << apartments[i].apartment2.address << endl; } cout << endl << "Найменша площа серед квартир: " << min_area << endl; cout << endl << "Максимальна кількість кімнат на найвищому поверсі: " << max_rooms << endl; cout << endl << "Найбільш густонаселена квартира:" << endl << "Адреса: " << apartments[index_max_people].apartment2.address << endl << "Кількість людей, які проживають в квартирі: " << apartments[index_max_people].apartment2.num_people << endl; return 0; } / / Блок-схема програми: / / Висновок: Навчилась використовувати структури, вкладені структури та створювати масиви структур.
Антиботан аватар за замовчуванням

13.10.2025 18:43

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!