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

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

Показать ответ
Ответ:
Ksu1ma
Ksu1ma
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-бота