Структуры и классы
Во всех заданиях помимо
указанных в заданиях операций, обязательно должны присутствовать:
·
Метод
инициализации Init(); метод должен контролировать значения аргументов на
корректность, при некорректных значения выводить сообщение No
и заканчивать работу с этим экземпляром;
·
Ввод с клавиатуры
Read();
·
Вывод на экран Display(), в котором выводятся поля экземпляра и результат
вычислений специфического метода;
В головной функции требуется
задать параметры окна, затем создать два статических экземпляра описанного типа
и для них последовательно выполнить все указанные в списке методы, а затем
сравнить экземпляры на совпадение/несовпадение. Список строится по шаблону:
<код операции>
<параметр операции>
Условно приняты следующие
коды операций:
1 – перемещение точки по
горизонтали;
2 – перемещение точки по
вертикали;
При отсутствии параметров
операции задавать фиктивный параметр=0.
После каждой операции
выдавать на экран текущие параметры точки по шаблону:
<горизонтальная координата
точки> <вертикальная координата точки> <расстояние до начала координат>
<полярный радиус> <полярный угол>

Формат входных данных.
Ввод: пара
значений параметров окна, затем параметры первого статического объекта, после
этого параметры второго статического объекта, после этого список операций над
курсором с параметрами, 0 – признак окончания списка.
Вывод:
первоначальные параметры первой точки, затем после выполнения каждой операции
текущие параметры первой точки, после этого аналогичные действия для второй
точки, и, затем результаты сравнения точек на совпадение или несовпадение
.
Пример входных данных:
640 400
200 300 400 100
1 50
2 30
1 50
2 -20
2 160
1 180
0 0
Пример выходных данных:
200.00 300.00 360.5551 360.5551 56.3099
250.00 300.00 390.5125 390.5125 50.1944
250.00 330.00 414.0048 414.0048 52.8533
300.00 330.00 445.9821 445.9821 47.7263
300.00 310.00 431.3931 431.3931 45.9392
300.00 470.00 557.5841 557.5841 57.4500
480.00 470.00 671.7887 671.7887 44.3969
400.00 100.00 412.3106 412.3106 14.0362
450.00 100.00 460.9772 460.9772 12.5288
450.00 130.00 468.4015 468.4015 16.1134
500.00 130.00 516.6237 516.6237 14.5742
500.00 110.00 511.9570 511.9570 12.4074
500.00 270.00 568.2429 568.2429 28.3690
680.00 270.00 731.6420 731.6420 21.6560
not equal