Форум программистов, компьютерный форум, киберфорум
Haskell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
2 / 9 / 0
Регистрация: 30.10.2020
Сообщений: 43

По заданным точками A, B, C, D определить, является ли четырехугольник ABCD квадратом

14.03.2021, 16:14. Показов 4265. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток. Только начали изучать данный язык, в методичке ничего не понятно, на ютубе как толком тоже.. В общем, прошу помочь решить задачку: Даны четыре точки A, B, C, D на плоскости. Является ли четырехугольник
ABCD квадратом?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.03.2021, 16:14
Ответы с готовыми решениями:

Даны 4 точки с координатами A,B,C,D. Определить является ли четырехугольник ABCD квадратом
Помогите, пожалуйста! На носу сессия... Даны 4 точки с координатами A(X1, Y1), B(X2, Y2), C(X3, Y3), D(X4, Y4). Определить является ли...

Определить, является ли четырехугольник, заданный координатами своих вершин, квадратом
Записать алгоритм определения того, является ли четырехугольник, заданный координатами своих вершин, квадратом.

Докажите, что четырехугольник ABCD является прямоугольной трапецией
1 В четырехугольнике ABCD AB=CD,BC=AD, <A=30 градусам На стороне ВC взята точка Е так, что <CDE=60 градусов Докажите, что...

2
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38195 / 21128 / 4309
Регистрация: 12.02.2012
Сообщений: 34,734
Записей в блоге: 14
14.03.2021, 20:40
Лучший ответ Сообщение было отмечено TrappaMq как решение

Решение

Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
import Data.List
 
dist (x1,y1) (x2,y2) = (x1-x2)^2+(y1-y2)^2
 
isSquare :: [(Int,Int)] -> Bool
isSquare cs = (length d == 2) && (length (d !! 0) == 4) && ((d !! 1) !! 0) `div` ((d !! 0) !! 0) == 2 
        where d = group $ sort $ [dist c1 c2 | c1 <- cs, c2 <- cs, c1 < c2]
              
main = do
       let a1 = isSquare [(1,1),(2,2),(1,2),(2,1)]
       print a1
       let a2 = isSquare [(1,1),(2,2),(1,2),(2,-1)]
       print a2
2
Модератор
 Аватар для Curry
5158 / 3488 / 536
Регистрация: 01.06.2013
Сообщений: 7,568
Записей в блоге: 9
15.03.2021, 07:31
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Без списков и сортировок. Длинее, но быстрее. Если я ничего не напутал.
Haskell
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
type Point2D = (Double,Double)
 
dist :: Point2D -> Point2D -> Double
dist (x1,y1) (x2,y2) = (x1-x2)^2+(y1-y2)^2
 
(~=) :: Double -> Double -> Bool
x ~= y = abs (x-y) < 1e-5
infix 4 ~=
 
isSquare :: Point2D -> Point2D -> Point2D -> Point2D -> Bool
isSquare a b c d 
    | ab ~= h = chk b c d
    | ac ~= h = chk c b d 
    | ad ~= h = chk d b c
    | otherwise = False
    where ab = dist a b
          ac = dist a c
          ad = dist a d
          l = min ab ac
          h = l*2
          chk2 x y = l ~= dist x y
          chk x y z = chk3 a && chk3 x 
            where chk3 p = chk2 p y && chk2 p z
            
main :: IO ()
main = do
    print $ isSquare (1,1) (2,2) (1,2) (2,1)
    print $ isSquare (1,1) (2,2) (1,2) (2,-1)
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2021, 07:31
Помогаю со студенческими работами здесь

Является ли четырехугольник квадратом
Составьте программу для определения, является ли четырехугольник квадратом

Проверить, является ли четырёхугольник квадратом
Составить программу, которая для четырёхугольника, заданного координатами своих вершин (x1, y1), (x2, y2), (x3, y3), (x4, y4) проверяет,...

Проверить, является ли четырехугольник квадратом
Составить программу, которая для четырёхугольника, заданного координатами своих вершин( x1,y1),(x2,y2),(x3,y3),(x4,y4),проверяет, является...

Дан четырехугольник,является ли он квадратом?
Дан четырехугольник ABCD с координатами вершин A(AX;AY),B(BX;BY),C(CX;CY), D(DX ; D Y) где AX,AY,BX,BYCX,CY,DX,DY-целые числа.Определит...

По заданным координатам вершин треугольника ABC вычислить координаты точки D так, чтобы четырёхугольник ABCD был параллелограмм
помогите пожалуйста, очень срочно надо:( C++ или Visual Studio По заданным координатам вершин треугольника ABC вычислить координаты...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru