Дипломная работа: Разработка программ с использованием динамической памяти
На сегодняшний день всё большее количество людей сталкивается с компьютером, прогресс неумолимо движет нас вперёд. В данное время это обусловлено большими информационными потоками, и необходимо обеспечивать эту отрасль специалистами информационных технологий.
Одно из наиболее мощных свойств языка программирования – указатели. Указатели – одна из наиболее трудных для освоения возможностей С. Указатели предоставляют программам возможность моделировать передачу по ссылке и создавать и манипулировать динамическими структурами данных, т.е. структурами данных, которые могут нарастать и сокращаться, например, такими как связные списки, очереди, стеки и деревья.
Переменные-указатели содержат в качестве своих значений адреса памяти. Обычно переменная содержит определенное значение. С другой стороны, указатель содержит адрес переменной, которая содержит определенное значение. В этом смысле имя переменной отсылает к значению прямо, а указатель – косвенно. Ссылка на значение посредством указателя называется косвенной адресацией.
Указатель – это переменная, содержащая адрес в памяти компьютера. Если удастся осознать смысл этого простого предложения, то это и все, что необходимо знать об указателях. Указатель – это переменная, которая содержит адрес оперативной памяти.
Чтобы лучше понять указатели, рассмотрим устройство оперативной памяти компьютера. Оперативная память разделена на последовательно пронумерованные ячейки. Каждая переменная размещается в одной или нескольких последовательно расположенных отдельных ячейках памяти, адрес первой из них называется адресом переменной. Каждая ячейка в оперативной памяти занимает 1 байт или 8 бит.
1. ПОСТАНОВКА ЗАДАЧИ
Задание №1:
Описать функцию, которая меняет местами первый и предпоследний элемент непустой очереди.
Входные данные:
Запись{inf}: цел – элементы очереди;
Промежуточные данные:
kol: цел – счетчик(номера элементов очереди);
key: сим – клавиша события;
tmp: сим – временный массив символов;
Ограничения:
нет
Задание №2:
Определить количество изолированных вершин неориентированного графа, вывести их список. Сделать выбранную вершину неизолированной.
Входные данные:
Запись {v1, v2}: цел – 1-я и 2-я вершины одного ребра;
n: цел – общее количество вершин в графе.
Промежуточные данные:
i: цел – счетчик(номера элементов 1-ой очереди);
f: цел – счетчик(проверка на существование висячих вершин);
ch: сим – клавиша события;
s,s1: сим – строки, которые нужны для проверки введенных результатов;
v [10]: сим – показатель степени данной вершины.
Ограничения:
2<=n<=5;
1<=v1<=n;
--> ЧИТАТЬ ПОЛНОСТЬЮ <--