From ddfee2cad99f1ec38b009627079a15fdaee96bc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=BB=D1=8C=D1=8F=20=D0=91=D0=BE=D0=B3=D0=B4=D0=B0?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2?= Date: Sun, 21 Nov 2021 09:53:34 +0000 Subject: [PATCH] =?UTF-8?q?=D0=97=D0=B0=D0=BC=D0=B5=D1=87=D0=B0=D0=BD?= =?UTF-8?q?=D0=B8=D1=8F=20=D0=BF=D0=BE=20main.cpp?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LW1.2/main.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/LW1.2/main.cpp b/LW1.2/main.cpp index a1c82cd..9a0706e 100644 --- a/LW1.2/main.cpp +++ b/LW1.2/main.cpp @@ -50,12 +50,14 @@ void Protection_task(MeshLoader& MyKE) std::cin >> id; std::set Container = MyKE.Get_Elements_by_ID_area(id); - //!!! Для поиска минимального элемента есть ranges::min_element, принимающий бинарный предикат,->ИСПРАВЛЕНО - //!!! в данном случае для сревнения площадей->ИСПРАВЛЕНО - std::vector SquareElements; std::ranges::for_each(Container, [&](auto& elem) {SquareElements.push_back(square(MyKE, elem)); }); + auto IterResult = std::ranges::min_element(SquareElements); + + ///!!! Для поиска есть min_element. Что мешает сделать бинарный предикат, который сравнивает объекты самих элементов + ///!!! и зачем делать отдельный контейнер??? + std::cout << *(std::next(Container.begin(), std::ranges::distance(SquareElements.begin(), IterResult))); } -- GitLab