Этот сайт использует cookies. Продолжение работы с сайтом означает, что Вы согласны!
Поиск минимального и максимального значений
Для поиска минимального и максимального значений предназначены следующие функции:
min()
иmax()
— сравнивают два значения или значения списка инициализации и возвращают минимальное или максимальное значения соответственно:
// #include <algorithm>
std::cout << std::min(1, 2) << std::endl; // 1
std::cout << std::max(1, 2) << std::endl; // 2
std::cout << std::min({1, 2, 3}) << std::endl; // 1
std::cout << std::max({1, 2, 3}) << std::endl; // 3
По умолчанию сравнение производится с помощью оператора <
. В последнем параметре можно указать пользовательскую функцию сравнения:
std::cout << std::min(1, 2,
[](int a, int b){ return a < b; }) << std::endl; // 1
std::cout << std::max({1, 2, 3},
[](int a, int b){ return a < b; }) << std::endl; // 3
minmax()
— сравнивает два значения или значения списка инициализации и возвращает объект классаpair
. Через свойствоfirst
будет доступно минимальное значение, а через свойствоsecond
— максимальное значение:
// #include <algorithm>
auto p1 = std::minmax(2, 1);
std::cout << p1.first << ' ' << p1.second << std::endl; // 1 2
auto p2 = std::minmax({1, 2, 3});
std::cout << p2.first << ' ' << p2.second << std::endl; // 1 3
По умолчанию сравнение производится с помощью оператора <
. В последнем параметре можно указать пользовательскую функцию сравнения:
auto p1 = std::minmax(2, 1,
[](int a, int b){ return a < b; });
std::cout << p1.first << ' ' << p1.second << std::endl; // 1 2
auto p2 = std::minmax({1, 2, 3},
[](int a, int b){ return a < b; });
std::cout << p2.first << ' ' << p2.second << std::endl; // 1 3
min_element()
иmax_element()
— возвращают итераторы, указывающие на элементы с минимальным или максимальным значениями из контейнера соответственно. Диапазон внутри контейнера задается с помощью двух итераторов:
// #include <algorithm>
std::vector<int> arr = {1, 2, 3};
std::cout << *std::min_element(arr.begin(), arr.end())
<< std::endl; // 1
std::cout << *std::max_element(arr.begin(), arr.end())
<< std::endl; // 3
Найдем минимальное значение в обычном массиве:
const int ARR_SIZE = 3;
int arr[ARR_SIZE] = {1, 2, 3};
std::cout << *std::min_element(arr, arr + ARR_SIZE)
<< std::endl; // 1
По умолчанию сравнение производится с помощью оператора <
. В последнем параметре можно указать пользовательскую функцию сравнения:
std::vector<int> arr = {1, 2, 3};
std::cout << *std::min_element(arr.begin(), arr.end(),
[](const int &a, const int &b){ return a < b; })
<< std::endl; // 1
minmax_element()
— сравнивает значения элементов контейнера и возвращает объект классаpair
. Через свойствоfirst
будет доступен итератор, указывающий на элемент с минимальным значением, а через свойствоsecond
— итератор, указывающий на элемент с максимальным значением. Диапазон внутри контейнера задается с помощью двух итераторов:
// #include <algorithm>
std::vector<int> arr = {1, 2, 3};
auto p = std::minmax_element(arr.begin(), arr.end());
std::cout << *p.first << ' ' << *p.second << std::endl; // 1 3
По умолчанию сравнение производится с помощью оператора <
. В последнем параметре можно указать пользовательскую функцию сравнения:
std::vector<int> arr = {1, 2, 3};
auto p = std::minmax_element(arr.begin(), arr.end(),
[](const int &a, const int &b){ return a < b; });
std::cout << *p.first << ' ' << *p.second << std::endl; // 1 3
Помощь сайту
ЮMoney (Yandex-деньги): 410011140483022
ПАО Сбербанк:
Счет: 40817810855006152256
Реквизиты банка:
Наименование: СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
Корреспондентский счет: 30101810500000000653
БИК: 044030653
КПП: 784243001
ОКПО: 09171401
ОКОНХ: 96130
Скриншот реквизитов