- •Лабораторная работа № 3 Разработка программы использования динамической памяти
- •Краткие теоретические сведения
- •Статические и динамические переменные
- •Указатели
- •Типизированные указатели
- •Нетипизированный указатель (pointer)
- •Доступ к переменной по указателю
- •Управление динамической памятью
- •Процедуры динамического распределения
- •Контрольные вопросы
- •Индивидуальные задания
Контрольные вопросы
Статические и динамические переменные.
Указатели: типизированные, нетипизированные, Nil. Доступ к переменной по указателю.
Процедуры и функции управления динамической памятью
Индивидуальные задания
Задание
Реализовать на основе динамического двумерного массива задание Количество строк и столбцов вводит пользователь.
Интерфейс программы оформить с помощью модуля GraphABC;
Прорисовать в окне значения горячих клавиш.
Двумерный массив выводить в виде таблицы с очерченными контурами. Элементы главной и побочной диагоналей при выводе выделить цветом.
Предусмотреть понятную форму вывода результата задания.
Организовать возможность добавления строк и столбцов в процессе работы программы
(закрепить за данными операциями горячие клавиши, например F5, F6).
1. Из одномерного массива [Xi] i = 1,64 получить действительную квадратную матрицу 8х8, элементами которой являются числа x1,…,x64 расположенные в ней по столбцам.
2. Из одномерного массива [Xi] i = 1,64 получить действительную квадратную матрицу 8*8, элементами которой являются числа x1,…,x64 расположенные в ней по строкам.
3. В произвольной матрице [Aij] i = 1,M ; j = 1,N столбец, содержащий максимальный элемент, заменить на сумму всех элементов матрицы.
4. Получить квадратную матрицу [Aij], i,j = 1,M , элементы главной диагонали которой будут числа в диапазоне от 1 до N.
5.Получить квадратную матрицу [Aij], i,j = 1,M , элементы главной диагонали которой будут числа в диапазоне от N до 1.
6. Получить квадратную матрицу [Aij], i,j = 1,M , элементы побочной диагонали которой будут числа, получающиеся в результате перемножения i*(i+1), где I – номер строки.
7. Получить квадратную матрицу [Aij], i,j=1,M , элементы которой будут получены следующим образом: в каждой строке матрицы первые (N – i+1) элементов заполнены номером строки, остальные – нулями.
8. Получить матрицу [Cij] i,j = 1,M из матриц [Aij] i,j = 1,M и [Bij] i,j = 1,M путем умножения элементов каждой строки матрицы [Aij] на максимальный элемент соответствующей строки матрицы [Bij].
9. В квадратной матрице [Aij] i,j = 1,M среди элементов, расположенных ниже главной диагонали, найти минимальный, а среди элементов выше главной диагонали – максимальный. Вывести координаты этих элементов.
10. В квадратной матрице [Aij] i,j = 1,M среди элементов, расположенных ниже побочной диагонали, определить количество положительных элементов, а среди элементов выше побочной диагонали – количество отрицательных элементов.
11. Из квадратной матрицы [Aij] i,j = 1,M сформировать одномерный массив [Xi] I = 1,2М по следующему правилу: элементами одномерного массива [Xi] с нечетными индексами будут элементы главной диагонали [Aij], с четными – побочной диагонали [Aij].
12. Сформировать одномерный массив [Xi] i = 1,M из сумм положительных элементов строк матрицы [Aij] j,i = 1,M , попутно определяя номера строк матрицы [Aij] i,j = 1,M , в которых отсутствуют положительные элементы.
13. Сформировать одномерный массив [Bi] i = 1,M из минимальных элементов строк прямоугольной матрицы[Aij] i = 1,M , j = 1,N . Подсчитать количество элементов массива [Bi], попавших в интервал (x,y).
14. Сформировать одномерный массив [Bi] i = 1,M из максимальных элементов столбцов прямоугольной матрицы [Aij] i = 1,M , j = 1,N . В массиве [Bi] поменять местами первый отрицательный и последний положительный элементы.
15. В квадратной матрице [Aij] i,j = 1,M заменить элементы главной и побочной диагоналей на минимальный элемент главной диагонали.
16. В произвольной матрице [Aij] i = 1,M , j = 1,N поменять местами строку, содержащую минимальный элемент, со строкой, содержащей максимальный элемент.
17. В квадратной матрице [Aij] i,j = 1,M найти максимальный элемент среди элементов, стоящих на главной и побочной диагоналях, и поменять его местами с элементом, стоящим на пересечении этих диагоналей.
18. В квадратной матрице [Aij] i,j = 1,M определить номер столбца матрицы, имеющего наибольшую сумму элементов. Поменять этот столбец со строкой имеющей наименьшую сумму элементов.
19. В квадратной матрице [Aij] i,j = 1,M найти наибольшее из значений элементов, расположенных в первом и третьем секторах матрицы, полученных в результате пересечения главной и побочной диагоналей.
20. В квадратной матрице [Aij] i,j = 1,M найти наибольшее из значений элементов, расположенных во втором и четвертом секторах матрицы, полученных в результате пересечения главной и побочной диагонали.