- •Вариант 1*
- •Примечания:
- •Вариант 2*
- •Int key; /* ключ элемента */
- •И сама таблица, и информация, относящаяся к элементу таблицы, хранятся в основной памяти;
- •Примечания:
- •Программа должна содержать несколько функций; функция main должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции;
- •Вариант 3*
- •Int key; /* ключ элемента */
- •Примечания:
- •Вариант 4*
- •Примечания:
- •Вариант 5*
- •Примечания:
- •Вариант 6*
- •Примечания:
- •Вариант 7*
- •Примечания:
- •Вариант 8*
- •Примечания:
- •Вариант 9*
- •Примечания:
- •Вариант 10**
- •Примечания:
- •Вариант 11**
- •Примечания:
- •Вариант 12**
- •Примечания:
- •Вариант 13**
- •Примечания:
- •Вариант 14**
- •Примечания:
- •Вариант 15**
- •Примечания:
- •Вариант 16**
- •Примечания:
- •Вариант 17**
- •Примечания:
- •Вариант 18**
- •Примечания:
- •Вариант 19**
- •Примечания:
- •Вариант 20**
- •Примечания:
- •Вариант 21**
- •Примечания:
- •Вариант 22**
- •Примечания:
- •Вариант 23**
- •Примечания:
- •Вариант 24**
- •Примечания:
- •Вариант 25**
- •Примечания:
- •Вариант 26**
- •Примечания:
- •Вариант 27***
- •Примечания:
- •Вариант 28***
- •Примечания:
- •Вариант 29***
- •Примечания:
- •Вариант 30***
- •Примечания:
- •Вариант 31***
- •Примечания:
- •Вариант 32***
- •Примечания:
- •Вариант 33***
- •Примечания:
- •Вариант 34***
- •Примечания:
- •Вариант 35***
- •Примечания:
- •Вариант 36***
- •Примечания:
- •Вариант 37***
- •Примечания:
- •Вариант 38***
- •Примечания:
- •Вариант 39***
- •Примечания:
- •Вариант 40***
- •Примечания:
Вариант 1*
Написать программу для работы с просматриваемой таблицей по запросам оператора.
Просматриваемая таблица организована вектором; каждый элемент таблицы имеет следующую структуру:
struct Item{
int busy; /* признак занятости элемента */
int key; /* ключ элемента */
char *info; /* указатель на информацию */
};
Максимальный размер таблицы ограничен (для задания максимального размера таблицы использовать константу – например, const int SIZE = ...;).
Предусмотреть следующие операции:
включение нового элемента в таблицу при условии, что в таблице не может быть двух элементов с одинаковыми ключами; если при включении нового элемента возникает такая ситуация, на экран должно быть выведено сообщение об ошибке;
удаление из таблицы элементов, заданных диапазоном ключей, без реорганизации таблицы;
поиск элементов, заданных диапазоном ключей. Результатом поиска должна быть новая таблица, содержащая найденные элементы;
вывод содержимого таблицы на экран.
Разработать два варианта программы:
и сама таблица, и информация, относящаяся к элементу таблицы, хранятся в основной памяти;
и сама таблица, и информация, относящаяся к элементу таблицы, хранятся во внешней памяти (используется двоичный файл произвольного доступа). Все операции выполняются с таблицей, размещенной в основной памяти. Таблица считывается из файла (или создается в первый раз) в начале сеанса работы и записывается в файл в конце сеанса работы. Информация, относящаяся к элементу таблицы, записывается в файл сразу же при выполнении операции включения в таблицу. Имя файла вводится по запросу из программы.
Примечания:
Программа должна содержать несколько функций; функция main должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции;
В программе нужно предусмотреть проверку правильности ввода данных;
Для варианта b) следует модифицировать структуру, определяющую элемент таблицы, включив в нее длину информации и ее смещение в файле;
В варианте b) для работы с файлом использовать функции пакета stdio.h; чтение и запись выполнять с помощью fread() и fwrite(), в которых должна быть указана реальная длина информации.
Вариант 2*
Написать программу для работы с просматриваемой таблицей по запросам оператора.
Просматриваемая таблица организована вектором; каждый элемент таблицы имеет следующую структуру:
struct Item{
Int key; /* ключ элемента */
char *info; /* указатель на информацию */
};
Максимальный размер таблицы ограничен (для задания максимального размера таблицы использовать константу – например, const int SIZE = ...;).
Предусмотреть следующие операции:
включение нового элемента в таблицу при условии, что в таблице не может быть двух элементов с одинаковыми ключами; если при включении нового элемента возникает такая ситуация, на экран должно быть выведено сообщение об ошибке;
удаление из таблицы элемента, заданного своим ключом, с реорганизацией таблицы;
поиск элементов, заданных диапазоном ключей. Результатом поиска должна быть новая таблица, содержащая найденные элементы;
вывод содержимого таблицы на экран.
Разработать два варианта программы: