Лабораторная работа 4: Лабораторная работа вариант 18, 18S
Описание
Лабораторная работа была защищена на высший балл.
Задание:
Разработать программу разделения на 2 части по среднему размеру любого заданного набора кругов, которые произвольно расположены в ее графическом окне ограниченного размера без перекрытий. Требуемый набор формируется и изменяется путем построения новых или удаления существующих кругов. Для построения кругов должна использоваться техника резинового кольца, которое изображается пунктиром и управляется перемещением курсора мыши в рамке графического окна, пока нажата ее левая кнопка. Удаление любого круга должно производиться щелчком правой кнопки мыши, когда курсор находится внутри его изображения. Каждое изменение должно синхронно отражаться в динамическом массиве, где круги упорядочены по диаметру, а круги больше и меньше среднего по размерам из них должны отличаться цветом закраски своих изображений в графическом окне. Завершение программы должно обеспечивать нажатие комбинации клавиш CTRL-O на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в ее графическом окне, используя библиотечные функции программного интерфейса Xlib из состава X Window System, а также реализовать сортировку массива кругов по размеру.
Показать/скрыть дополнительное описание
Разработать программу разделения на 2 части по среднему размеру любого заданного набора кругов, которые произвольно расположены в ее графическом окне ограниченного размера без перекрытий. Требуемый набор формируется и изменяется путем построения новых или удаления существующих кругов. Для построения кругов должна использоваться техника резинового кольца, которое изображается пунктиром и управляется перемещением курсора мыши в рамке графического окна, пока нажата ее левая кнопка. Удаление любого круга должно производиться щелчком правой кнопки мыши, когда курсор находится внутри его изображения. Каждое изменение должно синхронно отражаться в динамическом массиве, где круги упорядочены по диаметру, а круги больше и меньше среднего по размерам из них должны отличаться цветом закраски своих изображений в графическом окне.
Завершение программы должно обеспечивать нажатие комбинации клавиш CTRL-O на клавиатуре. При разработке программы необходимо предусмотреть соответствующую обработку событий и изображений в ее графическом окне, используя библиотечные функции программного интерфейса Xlib из состава X Window System, а также реализовать сортировку массива кругов по размеру..