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

TemhenkoShasa TemhenkoShasa    1   22.03.2020 13:19    147

Ответы
Ffaafafa Ffaafafa  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;

 }

}

}

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика