C++20 些末事 標準入力で入力した数値のうち、最大値と最小値を標準出力に出力する

コード

// 0個以上の数値を入力して、入力された最大値と最小値を表示する。

#include <cmath>
#include <iostream>
#include <limits>
#include <ranges>

auto main() -> int {
    using value_type = int;

    auto min = std::numeric_limits<value_type>::max();
    auto max = std::numeric_limits<value_type>::min();

    // 数値以外を入力すると反復が終了する。
    for (auto n : std::ranges::views::istream<value_type>(std::cin)) {
        min = std::min(n, min);
        max = std::max(n, max);
    }

    std::cout << "min: " << min << std::endl;
    std::cout << "max: " << max << std::endl;
}

実行例

1
2
3
-1
10
-3
q
min: -3
max: 10
3 1 4 1 5 q
min: 1
max: 5