25 ! ! нужно составить программу на языке с++! : реализовать программу «телефонный справочник» с использованием структур (struct). требования к программе: ● максимальное количество записей в справочнике - 20. ● каждый запись должна содержать следующую информацию: им 'я (до 10 символов включительно), фамилия (до 20 символов), номер телефона (до 12 цифр). все поля обязательно 'обязательными (не могут быть пустыми). ● ключевое поле - номер телефона (в справочнике может существовать только один запись с указанным номером). ● структура хранения записей в справочнике - массив. ● после запуска программа выводит на экран меню: 1.додаты запись 2.видалиты запись 3.знайты запись 4.показаты все записи 5.вийты по программе и просит пользователя сделать выбор. ● после выбора пользователя программа при необходимости может пригласить дополнительную информацию (например, номер телефона для удаления записи). ● после выполнения операции, вызвал пользователь, программа сообщает о результате (успешное завершение или ошибка), просит пользователя нажать любую клавишу для продолжения. затем снова выводит на экран меню. ● для удаления записи необходимо указать номер телефона. ● для поиска записи необходимо указать фамилию. ● программа должна контролировать ввода данных пользователем и сохранять работо при введении сознательно неверных данных (например, слишком длинной строки в качестве имени или неразрешенных символов в номере телефона).
1. АВБГ
2. ЕБЖДВГА
3.
net - сетевая
com - коммерческая
mil - военная
gov - правительственная
Объяснение:
1. IP-адрес имеет вид четырёх десятичных чисел (от 0 до 255), разделённых точками
193.126.197.209 (числа не превышают 255 и разделены точками)
АВБГ
2.
Адрес файла в сети:
протокол передачи данных(http или ftp)://сервер/файл
ftp://www.infor.ru/examp.htm
ЕБЖДВГА
3.
Административные домены первого уровня - трёхбуквенный код для организаций определённого типа
Например:
net - сетевые
gov - правительственные
mil - военные
org - некоммерческие
com - коммерческие
edu - образовательные
ответ:Алгоритм Карацубы — метод быстрого умножения со сложностью вычисления nlog23. В то время, как наивный алгоритм, умножение в столбик, требует n2 операций. Следует заметить, что при длине чисел короче нескольких десятков знаков (точнее определяется экспериментально), быстрее работает обычное умножение.
Представим, что есть два числа A и B длиной n в какой-то системе счисления BASE:
A = an-1an-2...a0
B = bn-1an-2...a0, где a?, b? — значение в соотв. разряде числа.
Каждое из них можно представить в виде суммы их двух частей, половинок длиной m = n / 2 (если n нечетное, то одна часть короче другой на один разряд:
A0 = am-1am-2...a0
A1 = an-1an-2...am
A = A0 + A1 * BASEm
B0 = bm-1bm-2...b0
B1 = bn-1bn-2...bm
B = B0 + B1 * BASEm
Тогда: A * B = ( A0 + A1 * BASEm ) * ( B0 + B1 * BASEm ) = A0 * B0 + A0 * B1 * BASEm + A1 * B0 * BASEm + A1 * B1 * BASE2 * m = A0 * B0 + ( A0 * B1 + A1 * B0 ) * BASEm + A1 * B1 * BASE2 * m
Здесь нужно 4 операции умножения (части формулы * BASE? * m не являются умножением, фактически указывая место записи результата, разряд). Но с другой стороны:
( A0 + A1 ) * ( B0 + B1 ) = A0 * B0 + A0 * B1 + A1 * B0 + A1 * B1
Посмотрев на выделенные части в обоих формулах. После несложных преобразований количество операций умножения можно свести к 3-м, заменив два умножения на одно и несколько операций сложения и вычитания, время выполнения которых на порядок меньше:
A0 * B1 + A1 * B0 = ( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1
Окончательный вид выражения:
A * B = A0 * B0 + (( A0 + A1 ) * ( B0 + B1 ) — A0 * B0 — A1 * B1 ) * BASEm + A1 * B1 * BASE2 * m
Объяснение: