Решите С++ В ПропоГраде проходит великолепный фестиваль научных знаний. Они решили пригласить участников к себе на центральную площадь. Вам было поручено сделать систему распознавания билетов у групп посетителей. Билет является подлинным, если он нечетный. Необходимо из набора удалить все билеты, не проходящие по этому критерию.
Формат входных данных
В первой строке вводится N - количество билетов
Во второй строке вводятся сами номера билетов
Формат выходных данных
Если все билеты подлинные, то вывести "ALL TICKETS ARE CORRECT"
В противном случае в первой строке вывести "WRONG", во второй количество непройденных билетов. В третьей строке вывести номера билетов, которые .
Примечания
all_of , remove_if and erase к вашим услугам :)
Напоминаем, что remove_if требует в качестве аргументов начало и конец диапазона, а также функцию, по которой он будет определять - удалить элемент или нет.
входные данные выходные данные
6
123 323 111 231 999 459
ALL TICKETS ARE CORRECT
9
123 323 24 111 122 231 982 999 459
WRONG
3
123 323 111 231 999 459
Ответы на вопрос:
#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;
}
}
}
Объяснение:
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
АнатолийРубчинский02.06.2023 00:53
-
LadyDay04.08.2021 23:03
-
dshvedova0610.08.2020 13:07
-
ыооп06.04.2021 20:56
-
DRUGAЯ08.01.2023 11:41
-
mandarinochkin12.04.2020 07:36
-
liliiayukhno107.03.2023 03:16
-
Merlin3330.06.2022 16:47
-
Medvedi4728.05.2023 11:31
-
Siya9931.05.2021 06:04
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.