Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб. ОАиП 230401.doc
Скачиваний:
10
Добавлен:
17.02.2016
Размер:
594.94 Кб
Скачать

Контрольные вопросы:

  1. Охарактеризуйте различные параметры функций.

  2. В каких случаях удобнее пользоваться функциями?

  3. Для чего создаются библиотеки функций?

  4. Как вы применили заголовочный файл созданный вами (смотрите первый пункт хода работы)?

  5. Назовите тип функции, которая не возвращает никакого значения.

  6. Напишите пример описания функции с несколькими параметрами.

Рекомендуемая литература: 1.3, 1.4, 1.5, 1.7, 2.1, 2.2.

Лабораторная работа №11 Тема: Применение указателей

Цель: рассмотреть возможности использования указателей при решении задач на обработку массивов и списков.

Вид работы: фронтальный.

Время выполнения: 2 часа.

Теоретические сведения:

Указатели в Си++ используются для связи переменных с машинными адресами. Понятие указателя тесно сплетено с обработкой массивов и строк. Массивы в Си++ могут рассматриваться как специальная форма указателя, связанная с непрерывной областью памяти для хранения индексируемой последовательности значений.

Если v– переменная, то &v– это адрес или место в памяти, где хранится её значение. Оператор определения адреса & (addressoperator) является унарным и имеет такой же приоритет и порядок выполнения справа налево, как и остальные унарные операторы. В программе можно объявить переменные-указатели и затем использовать их для получения адресов в качестве значений.

Объявление

int*p;

говорит, что переменная pбудет иметь тип “указатель на целое”.

Унарные операторы new и delete служат для управления свободной памятью (free store). Свободная память – это предоставляемая системой область памяти для объектов, время жизни которых напрямую управляется программистом. Программист создаёт объект с помощью ключевого слова new, а уничтожает его, используя delete.

Ход работы:

  1. Составьте словесный алгоритм решения каждой задачи.

  2. Оформите в тетрадь листинги программ.

Задания к работе:

Вариант №1

  1. Найти в каждом столбце матрицы S(n, m) максимальный и минимальный элементы и поместить их на место первого и последнего элемента столбца соответственно. Вывести на экран исходную и полученную матрицы в общепринятом виде. Для создания массива используйте указатели.

Вариант №2

  1. Упорядочить по убыванию элементы каждого столбца матрицы A(n, m). Вывести на экран исходную и полученную матрицы в общепринятом виде. Для создания массива используйте указатели.

Вариант №3

  1. Для целочисленной матрицы X(n, m) найти для каждой строки число элементов, кратных пяти, и наибольший из полученных результатов. Для создания массива используйте указатели.

Вариант №4

  1. Из матрицы A(n, m) записать в массив B подряд все положительные элементы, в матрицу C подряд все отрицательные. Для создания массивов используйте указатели.

Вариант №5

  1. Найти в каждой строке матрицы G(n, m) максимальный и минимальный элементы и поместить их на место первого и последнего элемента строки соответственно. Вывести на экран исходную и полученную матрицы в общепринятом виде. Для создания массива используйте указатели.

Вариант №6

  1. Дана матрица Z(n, n), получите транспонированную. Транспонированием квадратной матрицы называется такое ее преобразование, при котором строки и столбцы меняются ролями: i-й столбец становится i-й строкой. Для создания массивов используйте указатели. На экран выведите обе матрицы в общепринятом виде.

Вариант №7

  1. Переписать подряд в массив Y чётные элементы матрицы X(n, m), а в массив Z – нечётные элементы. Для создания массивов используйте указатели. На экран выведите три массива в общепринятом виде.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]