полняется в половине случаев.

Автор admin Понедельник, 25 мая 2009 11:32

полняется в половине случаев. В функции main() создаются три вектора типа int: х и у для исходных значений и г для результатов. Для инициализации х и у случайными значениями, не превышающими 50, используется генератор типа URandGen из Generators.h. Стандартный алгоритм generate_n() заполняет интервал, заданный первым аргументом, вызывая свой третий аргумент (который должен быть генератором) заданное количество раз (определяется вторым аргументом). Поскольку в одной из операций элементы х делятся на элементы у, необходимо позаботиться о том, чтобы в у не было нулевых элементов. Задача также решается при помощи алгоритма transform(); исходные данные берутся из у, увеличиваются на 1, а результат снова записывается в у. Объект функции для выполнения этой операции выглядит так: bind2nd(plus(). 1) 272 Глава б • Обобщенные алгоритмы В этом выражении объект функции plus используется для увеличения первого аргумента на 1. Как и прежде, мы используем адаптер для превращения бинарной функции в унарную, чтобы ее можно было применить к целому интервалу одним вызовом transform(). При другой проверке в программе


Комментарии закрыты.