Структуры, точки, квадраты, подробности в описании

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

svjat32
Сообщения: 7
Зарегистрирован: 26 ноя 2013, 02:08

Огромное спасибо всем откликнувшимся
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Пожалуйста. Пробуй реализовать и показывай, что получилось.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Кстати, сделаю ещё одно замечание по поводу определения является ли четырёхугольник квадратом. Не достаточно проверить равенство все сторон друг другу. Нужно проверить ещё, что любой из углов равен 90 градусам. Доказывать, что проверки одного угла достаточно не буду, это практически очевидно. Если же угол не проверить, то мы можем легко принять за квадрат ромб...

На всякий случай напомню, что прямой угол определяется вычислением скалярного произведения соответствующих векторов и проверки, что оно равно нулю.
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Ну и ещё одно замечаение по поводу алгоритма определения квадрата. Стоит сразу самого начала вычислить все вектора, соответствующие сторонам и дальше работать уже с ними. Работа с векторами не только упрости проверку угла (скалярное произвенение), но также упростит и проверку равенства сторон (сответствующие вектора должны быть равны по модулю, то есть их координаты либо совпадают, либо обе отличаются обратным знаком).
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
svjat32
Сообщения: 7
Зарегистрирован: 26 ноя 2013, 02:08

вот что получилось:
http://ideone.com/6UeybV
Kleper
Сообщения: 10
Зарегистрирован: 01 дек 2013, 21:17

Ребята нужна помощь ваша в решение задачки я пытался. Непалу чается вот задачка поможете.

Задать массив структур. Станция метро на языке С не С++.

Если можете код кинуть!
Аватара пользователя
Romeo
Сообщения: 3126
Зарегистрирован: 02 мар 2004, 17:25
Откуда: Крым, Севастополь
Контактная информация:

Мне кажется, ты не прочёл мои замечания :( Подозреваю, что код не работает, так как ты по-прежнему пытаешься сравнивать на равенство числа в плавающей точкой. Остальные замечания тоже проигнорированы. Понимаешь, что сейчас твоя программа принимает ромб за квадрат?
Entites should not be multiplied beyond necessity @ William Occam
---
Для выделения С++ кода используйте конструкцию [ code=cpp ] Код [ /code ] (без пробелов)
---
Сообщение "Спасибо" малоинформативно. Благодарность правильнее высказать, воспользовавшись кнопкой "Reputation" в виде звёздочки, расположенной в левом нижнем углу рамки сообщения.
svjat32
Сообщения: 7
Зарегистрирован: 26 ноя 2013, 02:08

Romeo писал(а):Понимаешь, что сейчас твоя программа принимает ромб за квадрат?

Вот конечный вариант, добавил погрешность измерений и функционально описал все действия, посмотрите внимательнее на первый if и прикиньте, как это выглядит:
http://pastebin.com/d9is6ayu
Ответить