Работа с памятью при использовании динамических структур
В программах, в которых необходимо использовать динамические структуры данных, работа с памятью происходит стандартным образом. Выделение динамической памяти производится с помощью операции new или с помощью библиотечной функции malloc (calloc). Освобождение динамической памяти осуществляется операцией delete или функцией free.
Например, объявим динамическую структуру данных с именем Node с полями Name, Value и Next, выделим память под указатель на структуру, присвоим значения элементам структуры и освободим память.
struct Node {char *Name;
int Value;
Node *Next
};
Node *PNode; //объявляется указатель
PNode = new Node; //выделяется память
PNode->Name = “STO”; //присваиваются значения
PNode->Value = 28;
PNode->Next = NULL;
delete PNode; // освобождение памяти
Задания
1.Разработайте динамическую структуру для решения задачи. Последовательность чисел Фибоначчи задается по закономерности: f1 = 1, f2 = 1, …, fn = fn-1 + fn-2. Распечатайте n чисел Фибоначчи в следующем порядке: сначала все четные, затем все начетные элементы.
2.Разработайте динамическую структуру для решения задачи. Даны целые числа p и q. Получить все делители числа q, взаимно простые с числом p.
Домашние задания
1.Разработайте динамическую структуру для решения задачи. Дана последовательность из n целых чисел. Получите количество чисел последовательности, которые встречаются в ней ровно один раз. Распечатайте найденные числа.
2.Разработайте динамическую структуру для решения задачи. На шахматной доске каждая клетка описывается двумя координатами: номером строки и номером столбца. Ферзь ставиться на одну из клеток. Найдите количество и координаты всех клеток, которые «бьет» ферзь.
Дата добавления: 2015-02-16; просмотров: 988;