Применение указателей

  • doc
  • 29.04.2020
Публикация на сайте для учителей

Публикация педагогических разработок

Бесплатное участие. Свидетельство автора сразу.
Мгновенные 10 документов в портфолио.

Иконка файла материала 85. Практическая работа по теме Применение указателей.doc

Лабораторная работа №11

Тема: Применение указателей

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

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

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

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

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

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

Объявление

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 – нечётные элементы. Для создания массивов используйте указатели. На экран выведите три массива в общепринятом виде.

 

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

1)       Дайте определение понятию указатель.

2)       Для чего предназначены указатели? Охарактеризуйте основные области использования.

3)       Какие функции для работы с памятью вы знаете?

4)       Напишите пример выделения памяти для произвольного массива.

5)       Приведите пример использования операции разыменования.

6)       Что такое список и как его создать с помощью указателя?


Скачано с www.znanio.ru