8. Даны запросы к поисковой системе. Расположите обозначения запросов в порядке возрастания количества страниц, которые найдет поисковый сервер по каждому запросу. Решите задачу с кругов Эйлера. a) пончики & булочки & пирожные & хлеб
b) пончики & булочки
c) (пирожные & хлеб) | булочки
d) булочки & пирожные & хлеб
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int>negative;
vector<int>positive;
for (int i = 0; i < N; i++) {
int A;
cin >> A;
if (A < 0)
negative.push_back(A);
else
positive.push_back(A);
}
for (int i = 0; i < negative.size(); i++)
cout<< negative[i]<<" ";
for (int i = 0; i < positive.size(); i++)
cout << positive[i] << " ";
}
Здесь ничего не написано про случай, если максимум = минимуму, поэтому его не учитываем.
Идея программы: просто ищем индекс первого максимального и первого минимального, а затем сравниваем их
Фрагмент кода:
int max = a[0], min = a[0];
int i_max = 0, i_min = 0;
for (int i = 1; i < n; i++) {
if (a[i] > max) {
max = a[i];
i_max = i;
}
if (a[i] < min) {
min = a[i];
i_min = min;
}
}
if (i_max > i_min)
cout << "MAX";
else if (i_min > i_max)
cout << "MIN";