- •Вариант 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***
- •Примечания:
Примечания:
Программа должна содержать несколько функций; функция main должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции;
В программе нужно предусмотреть проверку правильности ввода данных;
Для варианта b) следует модифицировать структуру, определяющую элемент таблицы, включив в нее длину информации и ее смещение в файле;
В варианте b) для работы с файлом использовать функции пакета stdio.h; чтение и запись выполнять с помощью fread() и fwrite(), в которых должна быть указана реальная длина информации.
Вариант 40***
Написать программу для работы с таблицей, использующей два пространства ключей, по запросам оператора.
Каждый элемент таблицы имеет следующую структуру:
struct Item{
int key1; /* ключ элемента из 1-го пространства ключей; */
int key2; /* ключ элемента из 2-го пространства ключей; */
char *info; /* указатель на информацию */
int ind1; /* связь с элементом 1-го пространства ключей; */
int ind2; /* связь с элементом 2-го пространства ключей; */
};
Каждое пространство ключей организовано по принципу перемешанной таблицы, использующей перемешивание сложением. Максимальный размер таблицы ограничен (для задания максимального размера таблицы использовать константу – например, const int SIZE = ...;).
Предусмотреть следующие операции:
включение нового элемента в таблицу при условии, что в таблице не может быть двух элементов с одинаковыми ключами;
удаление из таблицы элемента, заданного каким-либо одним ключом;
поиск в таблице элемента по любому заданному ключу; результатом поиска должна быть копия найденного элемента со значениями всех ключей;
вывод содержимого таблицы на экран; при этом формат вывода должен соответствовать приведенной выше структуре элемента таблицы.
Если при выполнении операций с таблицами возникает ошибочная ситуация, на экран должно быть выведено соответствующее сообщение об ошибке.
Разработать два варианта программы:
и сама таблица, и информация, относящаяся к элементу таблицы, хранятся в основной памяти;
и сама таблица, и информация, относящаяся к элементу таблицы, хранятся во внешней памяти (используется двоичный файл произвольного доступа). Все операции выполняются с таблицей, размещенной в основной памяти. Таблица считывается из файла (или создается в первый раз) в начале сеанса работы и записывается в файл в конце сеанса работы. Информация, относящаяся к элементу таблицы, записывается в файл сразу же при выполнении операции включения в таблицу. Имя файла вводится по запросу из программы.
Примечания:
Программа должна содержать несколько функций; функция main должна выполнять: вывод меню, ввод и анализ ответа, вызов на исполнение требуемой функции;
В программе нужно предусмотреть проверку правильности ввода данных;
Для варианта b) следует модифицировать структуру, определяющую элемент таблицы, включив в нее длину информации и ее смещение в файле;
В варианте b) для работы с файлом использовать функции пакета stdio.h; чтение и запись выполнять с помощью fread() и fwrite(), в которых должна быть указана реальная длина информации.