Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
 
medvedeva
0 / 0 / 0
Регистрация: 29.06.2011
Сообщений: 3
1

Нужна помощь в описании класов. контейнер на базе очереди.

29.06.2011, 17:36. Просмотров 657. Ответов 0
Метки нет (Все метки)

тема:Объектная реализация контейнера на основе комбинированной структуры «Упорядоченный массив динамических очередей»
есть начало, но его нужно переделать так, чтобы выполнялось след:
- информационные объекты являются квартирами дома с парой свойств Номер и Площадь
- квартиры объединяются в рамках объекта Дом (свойство - НомерДома) на основе динамической очереди
- дома объединяются в рамках объекта Улица (свойство - Название) на основе упорядоченного массива.

Для этой задачи надо спроектировать набор необходимых классов, имена которых, а также имена их свойств и методов должны
соответствовать поставленной задаче.
- в классах ввести методы доступа к закрытым свойствам
- использование динамической версии массива не является обязательным
вот начало:
uses
classes,
SysUtils;

type
T = integer;
TypizFile = file of T; // типизированный файл

TQueueItem = class // класс - элемент очереди
private
Data: T; // мои данные
Next: TQueueItem; // указатель на следующий элемент
private
constructor Create(value: T); // создание элемента очереди
end;

TQueue = class // класс очередь
private
Marker: T; // для метки очередей, для их поиска
First, Last: TQueueItem; // указатели начала и конца

public
constructor Create; // инициализация очереди
destructor Free;
procedure Put(value: T); // добавление элемента
function Get: T; // удаление
procedure Print; // просмотр
function Empty: boolean; // проверка на пустоту

// procedure Save (value: T); //сохранение в файл
// procedure Load (value: T); // загрузка из файла
end;

{Класс TCont обьявляем контейнерным классом}
TCont = class // класс-контейнер
private // свойства
mas: array of TQueue; // динамический массив
procedure Add(theQueue: TQueue);

public
Constructor Create; // создание массива указателей очередей
Procedure Add_main; // добавить новые очереди в контейнер
Procedure Delete_main;
procedure Scan_main;
// procedure Save (value: T); //сохранение контейнера в файл
// procedure Load (value: T); // загрузка из файла
end;


{========================================}
// инициализация элемента
constructor TQueueItem.Create(value: T);
begin
Data := value;
next := nil;
end;

{==========================================}
// инициализация очереди
Constructor TQueue.Create;
begin
first := nil; last := nil; // создаем пустую очередь
end;
// Освобождаем память, которую занимала очередь
destructor TQueue.Free;
begin
while not Empty do Get; // удаляем все элементы
end;
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.06.2011, 17:36
Ответы с готовыми решениями:

Нужна помощь по Базе Данных
Нужна помощь по базе данных в Delphi. Программа позволяет пользователю вводить...

Очень нужна помощь по распределенной базе
Всем здрасьте! Очень нужна ваша помощь. Имеется 1С:Бухгалтерия с...

Нужна помощь по базе данных учета кадров
Мне нужно базу данных по учету кадров в банке. Я создал 4 таблицы , но теперь...

Нужна помощь по исправлению ошибок в базе данных
само задание: Прокат автомобилей. Фирма, занимающаяся прокатом автомобилей,...

Нужна помощь в редактировании записей в базе данных в С++ Builder 5
Уважаемые программисты возник небольшой вопрос по поводу редактирования,...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.06.2011, 17:36

Нужна помощь в сборке компьютера на базе Intel Core i5-2500K
Добрый вечер,помогите пожалуйста с подбором запчастей к компютеру на базе Core...

Можно ли на базе массива реализовать контейнер
Можно ли на базе массива реализовать контейнер? Если да, то как это будет...

Как сделать так чтобы переменная в описании одной функции была доступна в описании другой?
Как сделать так чтобы переменная в описании одной функции была доступна в ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru