Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метода по ОАиП.doc
Скачиваний:
12
Добавлен:
11.05.2015
Размер:
3.21 Mб
Скачать

Советы по программированию

При выполнении вариантов заданий придерживайтесь следующих ключевых моментов.

  1. Шаблоны функций применяются для записи идентичных действий над данными различных типов.

  2. Вызов шаблона – это создание шаблоном конкретного варианта функции.

  3. Шаблоны можно перегружать как обычными функциями, так и другими шаблонами.

  4. Перегрузкой функций называется использование нескольких функций с одним именем и различными типами параметров.

  5. Перегрузка применяется, когда одно и то же по смыслу действие реализуется по-разному для различных типов или структур данных.

  6. При написании перегруженных функций необходимо, чтобы в процессе поиска нужного варианта функции по ее вызову не возникало неоднозначности. Неоднозначность может возникнуть из-за преобразований типов, параметров по умолчанию и ссылок.

  7. Перегруженные функции должны находиться в одной области видимости, иначе произойдет сокрытие аналогично одинаковым именам переменных во вложенных блоках.

  8. Перегруженные функции могут иметь параметры по умолчанию, при этом значения одного и того же параметра в разных функциях должны совпадать. В различных вариантах перегруженных функций может быть различное ко­личество параметров по умолчанию.

  9. Функции не могут быть перегружены, если описание их параметров отличается только модификатором const или использованием ссылки.

  10. Многоточие в заголовке функции используется тогда, когда число аргументов неизвестно.

  11. Многоточие в заголовке функции требует использования макрокоманд для доступа к параметрам таких функций.

  12. Нарушать указанный порядок макрокоманд нельзя.

Задание 10. Перегрузка функций Первый уровень сложности

Написать программу для работы с двумя одномерными динамическими массивами размером n. Для формирования массивов и вывода их на печать использовать стандартные потоки. Оформить решение задачи в виде шаблона функций. Глобальные данные в программе не допускаются. Все необходимые данные должны передаваться функциям через параметры (для параметров, соответствующих размерам массивов, используйте умалчиваемые значения). Программа должна демонстрировать использование умалчиваемых значений параметров, а также использование шаблона функций для типов данныхintиdouble.

1. Первым на печать вывести массив, сумма значений которого окажется наименьшей.

2. Первым на печать вывести массив, произведение значений которого окажется наименьшим.

3. В каждом из массивов найти наименьшее значение и прибавить его ко всем элементам массивов. На печать вывести исходные и преобразованные массивы.

4. В каждом из массивов найти наибольшее значение и вычесть его из всех элементов массивов. На печать вывести исходные и преобразованные массивы.

5. В каждом из массивов найти среднее арифметическое всех элементов массивов. На печать вывести исходные массивы и найденные значения.

6. Первым на печать вывести массив, содержащий наименьшее значение. Напечатать также это значение и его порядковый номер.

7. Подсчитать в массивах количество отрицательных элементов и первым на печать вывести массив, имеющий наименьшее их количество.

8. Подсчитать в массивах количество положительных элементов и первым на печать вывести массив, имеющий наименьшее их количество.

9. Подсчитать в массивах количество отрицательных элементов и первым на печать вывести массив, имеющий наибольшее их количество.

10. Подсчитать в массивах количество положительных элементов и первым на печать вывести массив, имеющий наибольшее их количество.

11. Подсчитать в массивах количество элементов, больших значения t, и первым на печать вывести массив, имеющий наименьшее их количество.

12. Подсчитать в массивах количество элементов, меньших значения t, и первым на печать вывести массив, имеющий наименьшее их количество.

13. Подсчитать в массивах количество элементов, больших значения t, и первым на печать вывести массив, имеющий наибольшее их количество.

14. В каждом из массивов найти наименьшее значение и умножить на него все элементы массивов. На печать вывести исходные и преобразованные массивы.

15. В каждом из массивов найти наибольшее значение и умножить на него все элементы массивов. На печать вывести исходные и преобразованные массивы.