|
Вопрос # 2 537/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты! Помогите решить задачу более и менее простым способом...и пожалуйста объясните решение понятным мне языком (я одиннадцатиклассник...и еще только учусь программировать).
Задача:
На плоскости задано десять точек. Найдите квадрат максимальной площади с вершинами в заданных точках. Программа должна считать выходые данные из файла input.txt и вывести результат в файл output.txt
Формат входного файла.
Входной файл содержит 10 строк. В каждой строке записано по два числа — координаты точек. Все координаты целые и не превышают по модулю 100.
Формат выходного файла.
Выведите в выходной файл одно число: площадь найденного квадрата. Если таких квадратов нет, выведите число -1.
 |
Вопрос задал: Anrie (статус: Посетитель)
Вопрос отправлен: 18 марта 2009, 19:53
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 19 марта 2009, 22:10; участников в обсуждении: 5.
|
Ученый (статус: 8-ой класс), 18 марта 2009, 20:00 [#1]:
Эх, одиннадцатый класс, пора экзаменов и олимпиад....Как я понял, вся трудность в том, что бы разработать сам алгоритм расчета площади?
|
|
min@y™ (статус: Доктор наук), 18 марта 2009, 20:26 [#2]:
Сначала требуется найти все ВОЗМОЖНЫЕ квадраты, образованные данными 10-ю точками. Причём, они могут располагаться как угодно, в том числе и под углом к осям. Потом легче, по диагоналям квадратов ищем площадь каждого и выводим максимум.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Anrie (статус: Посетитель), 18 марта 2009, 20:56 [#3]:
Да нет...алгоритм рассчета площади разработать не сложно...дело все в том что я не знаю как обнаружить квадрат. Ведь если взять 4 одинаковых по длине ребра связанных между собой 4 точками, то не факт что это будет квадрат
|
|
min@y™ (статус: Доктор наук), 18 марта 2009, 21:15 [#4]:
Цитата:
Ведь если взять 4 одинаковых по длине ребра связанных между собой 4 точками, то не факт что это будет квадрат
Не факт. Нужно ещё условие: длина диагонали должна быть равна длине ребра умноженной на корень из 2.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
min@y™ (статус: Доктор наук), 18 марта 2009, 21:16 [#5]:
...либо другое условие: все углы между сторонами должны быть = 90°.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Amidamaru (статус: 4-ый класс), 19 марта 2009, 01:00 [#6]:
А можно и такое условие:
1 диагонали равной длинны
2 точкой пересечения делятся пополам
3 образуют угол 90 градусов между собой
по-моему это прощее, т.к. тут рассматриваютя только 2 диагонали а не 4 стороны
|
|
Пупкин В В (статус: 2-ой класс), 19 марта 2009, 15:41 [#7]:
извините за офтоп, но Anrie вы часом лабораторные не пишите на заказ, а вопросы кидаете сюда чтоб не напрягаться? очень похоже гладя на ваши два последних вопроса.
|
|
Anrie (статус: Посетитель), 19 марта 2009, 22:10 [#8]:
Да нееет...я же говорю что я одиннадцатиклассник...На самом деле я завтра еду на олимпиаду...в Питер...по информатике...готовлюсь....хотел разобраться как решать подобного рода задачи...хотя уже все равно....я сегодня додумался как это делать
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|