/
dinruspro
/
reference
Обзор
Документация
Войти
/
dinruspro
/
reference
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
main
BasicAlgo/BasicAlgo.cpp
75 строк
2 KB
EnergonV
Справка по коду перекочевала в репозиторий (наконец-то!)
09 янв 2024, 19:20
09 янв 2024, 19:20
e333663
Код
Авторство
О чём код?
#include <Core/Core.h> using namespace Upp; CONSOLE_APP_MAIN{ StdLogSetup(LOG_FILE|LOG_COUT); DUMP(sgn(10)); DUMP(sgn(0)); DUMP(sgn(-7)); DUMP(min(6, 2, 7, 4)); DUMP(max(6, 2, 7, 4)); DUMP(clamp(0, 1, 10)); DUMP(clamp(1, 1, 10)); DUMP(clamp(5, 1, 10)); DUMP(clamp(10, 1, 10)); DUMP(clamp(11, 1, 10)); DUMP(findarg(3, 1, 7, 6, 3, 2)); DUMP(findarg(5, 1, 7, 6)); DUMP(decode(2, 1, "one", 2, "two", 3, "three", "?")); DUMP(decode(5, 1, "one", 2, "two", 3, "three", "?")); DUMP(get_i(-1, "zero", "one", "two")); DUMP(get_i(0, "zero", "one", "two")); DUMP(get_i(2, "zero", "one", "two")); DUMP(get_i(3, "zero", "one", "two")); Vector<int> data = { 10, 5, 11, 9, 2, 11 }; // 0 1 2 3 4 5 DUMP(FindIndex(data, 11)); DUMP(FindMin(data)); DUMP(FindMin(data, 0, 4)); DUMP(Min(data)); Vector<int> empty; // DUMP(Min(empty)); // This is undefined (fails in ASSERT) DUMP(Min(empty, -99999)); DUMP(Count(data, 11)); DUMP(CountIf(data, [=](int c) { return c >= 5; })); struct { int mul = 1; void operator()(int x) { mul *= x; }; } acc; Accumulate(data, acc); DUMP(acc.mul); DUMP(Sum(data)); DUMP(FindMax(data)); DUMP(FindMax(SubRange(data, 3, 2))); DUMP(Max(data)); // DUMP(Max(empty)); // This is undefined (fails in ASSERT) DUMP(Max(empty, 99999)); DUMP(Sum(data)); Vector<String> s = { "one", "two", "three" }; DUMP(Sum(s, "")); data = { 5, 7, 9, 9, 14, 20, 23, 50 }; // 0 1 2 3 4 5 6 7 DUMP(FindLowerBound(data, 9)); DUMP(FindUpperBound(data, 9)); DUMP(FindBinary(data, 9)); DUMP(FindLowerBound(data, 10)); DUMP(FindUpperBound(data, 10)); DUMP(FindBinary(data, 10)); }