В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
accolic
accolic
21.04.2023 11:49 •  Информатика

C++
2. В массиве хранится информация о количестве жильцов каждой квартиры пятиэтажного дома (4 подъезда, на каждом этаже по 2 квартиры).
а) по выбранному номеру квартиры определить количество жильцов, а также их соседей проживающих на одном этаже;
б) определить суммарное количество жильцов для каждого подъезда;
в) определить номера квартир, где живут многодетные семьи. Условно будем считать таковыми, у которых количество членов семьи превышает пять человек.

Показать ответ
Ответ:
Alexxx25
Alexxx25
12.10.2020 02:28

#include <iostream>

#include <vector>

using namespace std;

int main()

{

//создадим вектор и заполним случайными числами

vector<vector<pair<int, int>>> v(5, vector<pair<int, int>>(4));

for (auto& it1 : v) {

 for (auto& it2 : it1) {

  it2 = make_pair(rand()%6 + 1, rand()%6 + 1);

 }

}

//а) по квартире определим кол. жильцов и у соседей

cout << "Input apartment number: ";

int n;

cin >> n;

if (n % 2) {

 cout << "Apartment:" << v[(n % 30) / 2-1][(n - 1) / 10].first << endl;

 cout << "Neighbor:" << v[(n % 30) / 2-1][(n - 1) / 10].second << endl;

}

else {

 cout << "Apartment:" << v[(n % 30) / 2-1][(n - 1) / 10].second << endl;

 cout << "Neighbor:" << v[(n % 30) / 2-1][(n - 1) / 10].first << endl;

}

//суммарное количество жильцов в каждом подъезде

vector<int> v2(4,0);

for (int i = 0; i < 5;i++) {

 for (int j = 0; j < 4;j++) {

  v2[j] += v[i][j].first;

  v2[j] += v[i][j].second;

 }

}

for (auto it : v2) cout << it<<endl;

//Номера квартир многодетных семей

cout << endl;

for (int i = 0; i < 5; i++) {

 for (int j = 0; j < 4; j++) {

  if (v[i][j].first > 5) cout << j * 10 + (i + 1) * 2 - 1<<endl;

  if (v[i][j].second > 5) cout << j * 10 + (i + 1) * 2 <<endl;

 }

}

}

Объяснение:

0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота