Вопрос № 102194: Здравствуйте уважаемые эксперты! Вот текст задачи
В работе необходимо создать класс, описанный в задании. Требуется обратить особое внимание на состав членов класса, а также на внутренний формат представления данных. Необходимо предусмотреть возм...
Вопрос № 102.194
Здравствуйте уважаемые эксперты! Вот текст задачи
В работе необходимо создать класс, описанный в задании. Требуется обратить особое внимание на состав членов класса, а также на внутренний формат представления данных. Необходимо предусмотреть возможность тестирования класса.
Класс для представления множества. Элементами множества являются фразы из слов. Два элемента считаются идентичными, если представляющие их фразы состоят из одинаковых слов (регистр не учитывать) (Например: «too many» и «Many too»). Необходимо реализовать операции над такими множествами (объединение, пересечение, разность).
Помогите решить эту задачу...
Отправлен: 16.09.2007, 04:48
Вопрос задал: Whitesnake (статус: Посетитель)
Всего ответов: 1 Мини-форум вопроса >>> (сообщений: 1)
Отвечает: Сухомлин Кирилл Владимирович
Здравствуйте, Whitesnake!
Это достаточно большой проект и целиком за вас писать его никто не будет.
Для внутреннего представления элементов, лучше всего использовать TStringList, сделав при инициализации свойство Sorted, равным True. А фразы хранить в виде строк, со словами, отсортированными в алфавитном порядке. При добавлении новой фразы:
разбивка по словам,
приведение к нижнему регистру (AnsiLowerCase)
запись в TStringList. В другой, временный. Он сам сортирует.
Сборка назад в строку и добавление в основный TStringList с фразами.
При взятии объединения или пересечения множеств, используйте метод двух "бегущих" индексов.
--------- Не узнаешь - не попробуешь.
Ответ отправил: Сухомлин Кирилл Владимирович (статус: Специалист)
Ответ отправлен: 18.09.2007, 18:50 Оценка за ответ: 5