Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2014, 15:57   #1
AlbertWesker
Новичок
Джуниор
 
Регистрация: 25.03.2014
Сообщений: 3
Лампочка Задачка по работе с файлами и выводом прямоугольника

Помогите решить задачку:

В двух файлах заданы координаты противоположных вершин прямоугольников, стороны которых расположены вертикально или горизонтально. Координаты вершин тех прямоугольников, периметр которых больше среднего значения периметров, переместить в другой файл. Вывести на экран прямоугольник, периметр которого ближайший к сумме двух самых маленьких прямоугольников.
AlbertWesker вне форума Ответить с цитированием
Старый 25.03.2014, 16:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

у меня лично тут только один вопрос возникает - почему в двух файлах?!
Что в одном файле и что - в другом?!

а остальное вроде бы очевидно!
Что у Вас конкретно вызывает сложности?
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.03.2014, 16:51   #3
AlbertWesker
Новичок
Джуниор
 
Регистрация: 25.03.2014
Сообщений: 3
По умолчанию

наверно в первом файле координата одной вершины а во втором координаты противоположной вершины одного прямоугольника, вопрос у меня вызывает например: как сосчитать периметры прямоугольников зная координаты их противоположных вершин ? точней как написать программу которая их будет считать)
AlbertWesker вне форума Ответить с цитированием
Старый 25.03.2014, 17:19   #4
AlbertWesker
Новичок
Джуниор
 
Регистрация: 25.03.2014
Сообщений: 3
Восклицание

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
у меня лично тут только один вопрос возникает - почему в двух файлах?!
Что в одном файле и что - в другом?!

а остальное вроде бы очевидно!
Что у Вас конкретно вызывает сложности?
наверно в первом файле координата одной вершины а во втором координаты противоположной вершины одного прямоугольника, вопрос у меня вызывает как сосчитать периметры прямоугольников зная координаты их противоположных вершин ?
AlbertWesker вне форума Ответить с цитированием
Старый 26.03.2014, 08:39   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
как сосчитать периметры прямоугольников зная координаты их противоположных вершин ?
ну, это не серьёзно... ;(
Вы бы взяли листик в клеточку, нарисовали на нём прямоугольник (соблюдая условия задачи), взяли координаты противоположных углов (любых) и посмотрели, как же по ним можно найти периметр...


Ну, если всё равно не понятно, тогда сообщаю, что если из координаты одной точки угла прямоугольника вычесть координаты точки противоположного угла, то мы получим длину стороны.
Дальше всё ещё проще.
Допустим, координаты одного угла находится в ( a1.x, a1.y), координаты противоположного угла в ( a2.x, a2.y), тогда периметр равен
Код:
perimeter := 2 * ( abs(a1.x - a2.x) +  abs(a1.y - a2.y) );
abs - получение модуля здесь использован для того, чтобы не проверять, какой угол левее/правее и выше/ниже.

вот и всё.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос по работе с файлами Cstln Паскаль, Turbo Pascal, PascalABC.NET 8 05.05.2013 21:31
Задание по работе с файлами (C) Jersey Помощь студентам 1 28.12.2011 09:59
Вопрос по работе с файлами Елжан Помощь студентам 0 01.12.2011 19:23
Вопросы по работе с файлами С++ Alex456 Общие вопросы C/C++ 4 14.06.2011 22:27