Задача "Трапеция" - Сдать решение задачи Trapezium - Программа должна посчитать и вывести площадь и периметр трапеции. Трапеция задается координатами своих вершин в порядке A B C D, как показано на рисунке.
Описание
Программа на языке Си (С)
Условие
Сдать решение задачи Trapezium
Полный балл: | 1000 |
Бонусные баллы: | 200 200 200 200 200 200 200 200 200 200 200 |
Ограничение времени: | 1 с |
Ограничение реального времени: | 5 с |
Ограничение памяти: | 128M |
Задача "Трапеция"
Программа должна посчитать и вывести площадь и периметр трапеции.Трапеция задается координатами своих вершин в порядке A B C D, как показано на рисунке.

Для линковки этих функций на некоторых платформах (например Linux и возможно MacOS) требуется использовать опцию компилятора "-lm" (сокращение от lib math).
Требуется проверка на корректность ввода, так как ввод может быть не корректным (проверять следует именно ввод, а не является ли указанный четырехугольник трапецией). В случае некорректного ввода, программа не должна выводить ничего и вернуть ОС код 1.
Формат входных данных
На вход программе в stdin (консоль) подается восемь чисел с плавающей точкой. Это координаты вершин трапеции в порядкеAx Ay
Bx By
Cx Cy
Dx Dy
Формат результата
Программы выводит данные в стандартный поток stdout (консоль). На первой строчке программа выводит периметр трапеции, на второй строчке - площадь.В случае некорректного ввода, программа не выводит ничего и возвращает ОС код 1.
Обратите внимание - для увеличения точности вывода числа с плавающей точкой может понадобиться сложный плейсхолдер. Например "%.15f"
Примеры
Входные данные
0 0
10 0
10 10
0 10
Результат работы
40.000000000000000
100.000000000000014
Входные данные
-98.8111 -86.9348
134.915 26.603
40.8084 116.756
-290.187 -44.0328
Результат работы
954.272945028339905
38363.615691749997495
Входные данные
Пример некорректного ввода
Результат работы
bad input
Показать/скрыть дополнительное описание
Задача \"Трапеция\" - Сдать решение задачи Trapezium - Программа должна посчитать и вывести площадь и периметр трапеции. Трапеция задается координатами своих вершин в порядке A B C D, как показано на рисунке. Программа на языке Си (С) Условие Сдать решение задачи Trapezium Полный балл:1000 Бонусные баллы:200 200 200 200 200 200 200 200 200 200 200 Ограничение времени:1 с Ограничение реального времени:5 с Ограничение памяти:128M Задача \"Трапеция\" Программа должна посчитать и вывести площадь и периметр трапеции. Трапеция задается координатами своих вершин в порядке A B C D, как показано на рисунке. Расчеты следует выполнять в числах двойной точности (double).Для решения Вам, скорее всего, понадобятся математические функции, такие как синус, косинус (sin, cos), квадратный корень (sqrt) и модуль ((f)abs).
Эти функции доступны в заголовочной файле math.h. Для линковки этих функций на некоторых платформах (например Linux и возможно MacOS) требуется использовать опцию компилятора \"-lm\" (сокращение от lib math). Требуется проверка на корректность ввода, так как ввод может быть не корректным (проверять следует именно ввод, а не является ли указанный четырехугольник трапецией). В случае некорректного ввода, программа не должна выводить ничего и вернуть ОС код 1. Формат входных данных На вход программе в stdin (консоль) подается восемь чисел с плавающей точкой. Это координаты вершин трапеции в порядке Ax Ay Bx By Cx Cy Dx Dy Формат результата Программы выводит данные в стандартный поток stdout (консоль).
На первой строчке программа выводит периметр трапеции, на второй строчке - площадь. В случае некорректного ввода, программа не выводит ничего и возвращает ОС код 1. Обратите внимание - для увеличения точности вывода числа с плавающей точкой может понадобиться сложный плейсхолдер. Например \"%.15f\" Примеры Входные данные 0 0 10 0 10 10 0 10 Результат работы 40.000000000000000 100.000000000000014 Входные данные -98.8111 -86.9348 134.915 26.603 40.8084 116.756 -290.187 -44.0328 Результат работы 954.272945028339905 38363.615691749997495 Входные данные Пример некорректного ввода Результат работы bad input == Тест #1 ======= --- Входные данные: размер 20 --- 0 0 10 0 10 10 0 10 --- Результат работы: размер 38 --- 40.000000000000000 100.000000000000000 --- Правильный ответ: размер 11 --- 40.0 100.0 --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=0, stime=1, ptime=1, rtime=2, maxvsz=0, maxrss=1654784, nvcsw=1, nivcsw=1, cgptimeus=982, cgstimeus=982 } checker: { utime=0, stime=1, ptime=1, rtime=4, maxvsz=360448, maxrss=2379776, nvcsw=2, nivcsw=2 } ====== Тест #2 ======= --- Входные данные: размер 67 --- -98.8111 -86.9348 134.915 26.603 40.8084 116.756 -290.187 -44.0328 --- Результат работы: размер 41 --- 954.272945028339905 38363.500000000000000 --- Правильный ответ: размер 42 --- 954.272945028339905 38363.615691749997495 --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=0, maxrss=1736704, nvcsw=1, nivcsw=2, cgptimeus=762, cgutimeus=762 } checker: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=360448, maxrss=2322432, nvcsw=1, nivcsw=1 } ====== Тест #3 ======= --- Входные данные: размер 24 --- 0 0 3 0 2 1e-13 1 1e-13 --- Результат работы: размер 35 --- 6.000000000000000 0.000000000000000 --- Правильный ответ: размер 8 --- 6.0 0.0 --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=1, stime=0, ptime=1, rtime=1, maxvsz=0, maxrss=1654784, nvcsw=1, nivcsw=2, cgptimeus=688, cgutimeus=688 } checker: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=360448, maxrss=2256896, nvcsw=1, nivcsw=1 } ====== Тест #4 ======= --- Входные данные: размер 63 --- 0 0 0 1 1 1 четвертая точка потерялась --- Результат работы: размер 0 --- --- Правильный ответ: размер 0 --- --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=0, maxrss=1761280, nvcsw=1, nivcsw=0, cgptimeus=634, cgutimeus=634 } checker: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=360448, maxrss=2363392, nvcsw=1, nivcsw=1 } ====== Тест #5 ======= --- Входные данные: размер 0 --- --- Результат работы: размер 0 --- --- Правильный ответ: размер 0 --- --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=1, stime=0, ptime=1, rtime=1, maxvsz=0, maxrss=1675264, nvcsw=1, nivcsw=1, cgptimeus=675, cgutimeus=675 } checker: { utime=0, stime=1, ptime=1, rtime=3, maxvsz=360448, maxrss=2252800, nvcsw=1, nivcsw=2 } ====== Тест #6 ======= --- Входные данные: размер 2424 --- Неприятно познакомиться.
Я же лось Без этой глупой болтовни мне неплохо жилось Я был в гармонии с собой от копыт до рогов Бродил везде один, не различая друзей и врагов Мне нечего делить с другими жителями леса Чем больше слов, тем меньше все они имеют веса Так что молчание даже дороже золота Но для контакта тут больше не ищут повода Когда прорезался мой голос наравне со всеми Понял я, что лосю вовсе нечего сказать по теме Я обыватель, мне бы только поспать и покушать Но все решили: раз молчу, значит умею слушать И прорвало! Сплетни, новости, мода, погода... Нигде не скрыться от назойливого хоровода «Что за абсурд вы несете?! Что с вами такое?! Я вас не звал, идите прочь! Оставьте в покое! Не сомневаюсь, все вы — личности высшего сорта Это не причина для вторжения в зону комфорта! Знали бы вы, как ваши жалобы мне надоели!» — Это я размышляю про себя, а на деле Многозначительно киваю на любую фразу И в их глазах я идеальный собеседник сразу Всего-то надо никогда не спорить с говорящим И он почувствует себя учёным настоящим Всецело возомнит себя оратором и гением Пренебрегая этикетом и моим терпением И я смирился: не вернуть тишину и уют Чужие мнения осели во мне и гниют Вчера пропал аппетит, сегодня сон Я выполз на поляну, все вздохнули в унисон И наблюдают, до чего моя роль довела Я еле слышно произнёс: «Привет, как дела?» --- Результат работы: размер 0 --- --- Правильный ответ: размер 0 --- --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=0, stime=1, ptime=1, rtime=2, maxvsz=0, maxrss=1585152, nvcsw=1, nivcsw=0, cgptimeus=765, cgstimeus=765 } checker: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=360448, maxrss=2256896, nvcsw=1, nivcsw=1 } ====== Тест #7 ======= --- Входные данные: размер 98 --- 0 0 10 0 10 10 0 вот что получается, если проверять scanf на <= 0! --- Результат работы: размер 0 --- --- Правильный ответ: размер 0 --- --- Поток ошибок: размер 0 --- --- Вывод проверяющей программы: размер 3 --- OK --- Resource usage --- program: { utime=1, stime=0, ptime=1, rtime=1, maxvsz=0, maxrss=1712128, nvcsw=1, nivcsw=1, cgptimeus=710, cgutimeus=710 } checker: { utime=1, stime=0, ptime=1, rtime=2, maxvsz=360448, maxrss=2310144, nvcsw=1, nivcsw=1 } .
Характеристики решённой задачи
Преподаватели
Список файлов
