Середина отрезка в C++
Функция midpoint возвращает середину между двумя числами одного типа.
Наивная полусумма для больших целых может
переполниться еще до деления. Функция из
<numeric> считает середину так,
чтобы избежать такого переполнения. Запишем
два int и
выведем середину:
#include <numeric>
#include <iostream>
int left = 10;
int right = 20;
std::cout << std::midpoint(left, right) << "\n";
Тот же шаблон работает и для float
и double. Запишем дробные границы
и выведем точку между ними:
#include <numeric>
#include <iostream>
double a = 1.0;
double b = 3.0;
std::cout << std::midpoint(a, b) << "\n";
Найдите середину между 100 и 200
через std::midpoint и выведите
результат.
Задайте double lo = 0.25
и hi = 0.75. Выведите
std::midpoint(lo, hi).