Задание 1. Используя классы, создать генеалогическое дерево, вершины которого содержат имя, фамилию, отчество (все – строки до 20 символов) и дату рождения – целое число типа long, являющееся ключом. Элементы дерева заполнять из файла. Узлов в дереве должно быть не меньше 30. Реализовать функции поиска, которые принимают имя, фамилию или отчество (на выбор), некоторую дату и выводят на экран в алфавитном порядке остальные инициалы всех однофамильцев, родившихся не позднее указанной даты. Реализовать функцию вывода исходного дерева на экран.
Задание 2. Реализовать класс Vector как вектор, состоящий из N чисел типа float. Память под элементы выделять динамически. Перегрузить операторы +, –, = так, чтобы в них можно было сочетать векторы и числа с плавающей точкой. Перегрузить операции ввода–вывода в поток. В функции main привести примеры реализации класса Vector.