Вопросы.
Дайте понятие указателя. Для каких целей он служит?
Поясните следующие понятия: установка указателя, тип указателя.
Какие действия выполняют операции * и & ?
Какие действия необходимо выполнить, чтобы обратиться к переменной через указатель (начиная с объявления указателя).
Что такое адресная арифметика?
Какие ограничения действуют в адресной арифметике на операцию «присваивания»?
Какие ограничения действуют в адресной арифметике на операции «инкремента» и «декремента»?
Какие ограничения действуют в адресной арифметике на «сложение» и «вычитание»?
Что представляет собой массив данных с точки зрения указателей?
Перечислите три направления применения указателей в параметрах функций.
Как функция может обратиться к памяти, находящейся за её пределами? Приведите пример.
Варианты заданий. Общие требования.
Все исходные массивы задавать с помощью генератора случайных чисел, который должен выдавать различные последовательности при многократном запуске программы.
Все исходные массивы следует выводить на экран в форматированном виде (в виде «матрицы»)
Обязательно использовать пользовательские функции (функции, написанные вами). Для всех вариантов создать две функции:
заполнение исходных массивов случайными числами
вывод исходных массивов на экран в форматированном виде
Для каждого варианта создать функцию (или несколько функций), которая решает поставленную задачу. При создании функций использовать указатели и ссылки (где это необходимо) для передачи параметров в функцию и возврата значения.
На экран выводить поясняющие тексты.
Номер варианта задания |
Задание |
1,10,19 |
Даны два массива M и I, найти вхождение массива I в массив M (начало массива I). Массив M задать с помощью датчика случайных чисел, массив I ввести с клавиатуры. Размерности массивов задать в программе с помощью именованных констант. |
2,11,20 |
Дан массив M, размерность задать в программе с помощью именованной константы. Найти положение максимума и минимума (вернуть 2 значения). |
3,12,21 |
Дан массив M, размерность задать в программе с помощью именованной константы. Указать элемент-границу (ввести номер с клавиатуры). Инвертировать массив справа от границы, слева найти положение минимума и сам минимум. |
4,13,22 |
Дан массив M, размерность задать в программе с помощью именованной константы. Найти n–ый максимальный по величине элемент, n ввести с клавиатуры. Если такого элемента нет – выдать сообщение. |
5,14,23 |
Дан массив M, размерность задать в программе с помощью именованной константы. Указать элемент-границу (ввести номер с клавиатуры). Переставить местами правую и левую часть массива. Найти положение максимума и сам максимум. |
6,15,24 |
Решить задачу линейной фильтрации сигнала, заданного массивом X, с «окном» шириной k. Дан массив X, размерность задать в программе с помощью именованной константы. Сформировать массив Y, где k ввести с клавиатуры. |
7,16,25 |
Решить задачу медианной фильтрации сигнала, заданного массивом X. Дан массив X, размерность задать в программе с помощью именованной константы. Сформировать массив Y, где midl – это значение, которое находится между max и min |
8,17,26 |
Дан массив M, размерность задать в программе с помощью именованной константы. Указать элемент-границу (ввести номер с клавиатуры), слева найти положение максимума и сам максимум, а справа положение минимума и сам минимум. |
9,18,27 |
Дан массив M, размерность задать в программе с помощью именованной константы. Указать элемент-границу (ввести номер с клавиатуры). Инвертировать массив слева от границы, справа найти положение максимума и сам максимум. |