Форум программистов, компьютерный форум CyberForum.ru

Обход треугольника по часовой стрелке - C++

Восстановить пароль Регистрация
 
INSTINCT95
23 / 3 / 1
Регистрация: 03.11.2014
Сообщений: 69
22.11.2014, 23:59     Обход треугольника по часовой стрелке #1
Всем доброго дня, а кому-то вечера, итак суть задачи: есть координаты вершин треугольника и нужно их вывести в порядке обхода треугольника по часовой стрелке.

Проверьте пожалуйста задачу:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "stdafx.h"
#include <conio.h>
 
int _tmain(int argc, _TCHAR* argv[])
{
    int x1=2, y1=7;     //A
    int x2=2, y2=8;     //B
    int x3=7, y3=0;     //C
    int ab, ab1, bc, bc1, p;
    ab=x1-x2;
    ab1=y1-y2;
    bc=x3-x2;
    bc1=y3-y2;
    printf ("Vershina A = (%d, %d)\nVershina B = (%d, %d)\nVershina C = (%d, %d)\n\n", x1, y1, x2, y2, x3, y3);
    p = (ab * bc1) - (bc * ab1);
    if (p>-1)
        printf("Po chasovoi strelke: A B C");
    else
        printf("Protiv chasovoi strelki: C B A");
    getch();
    return 0;
}
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2907 / 1443 / 397
Регистрация: 18.10.2014
Сообщений: 2,661
23.11.2014, 01:09     Обход треугольника по часовой стрелке #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от INSTINCT95 Посмотреть сообщение
Проверьте пожалуйста задачу:
Условие 'p > -1' вызывает недоумение. Значение 'p == 0' соответствует трем точкам, лежащим на одной прямой. В таком случае, как ни верти, "по часовой" не получится. Поэтому более осмысленным был бы трехзначный вывод для 'p < 0, 'p == 0' и 'p > 0'.

А остальном все более-менее нормально...
INSTINCT95
23 / 3 / 1
Регистрация: 03.11.2014
Сообщений: 69
23.11.2014, 11:11  [ТС]     Обход треугольника по часовой стрелке #3
TheCalligrapher, Тогда, если p==0 это против или по часовой?

Добавлено через 21 минуту
TheCalligrapher, Вершины лежат на одной прямой?
TheCalligrapher
С чаем беда...
Эксперт С++
 Аватар для TheCalligrapher
2907 / 1443 / 397
Регистрация: 18.10.2014
Сообщений: 2,661
23.11.2014, 11:31     Обход треугольника по часовой стрелке #4
Цитата Сообщение от INSTINCT95 Посмотреть сообщение
Вершины лежат на одной прямой?
Да, вершины лежат на одной прямой, как я уже написал выше. Т.е. треугольника нет вообще.
INSTINCT95
23 / 3 / 1
Регистрация: 03.11.2014
Сообщений: 69
23.11.2014, 12:02  [ТС]     Обход треугольника по часовой стрелке #5
TheCalligrapher, Спасибо, вот теперь я спокоен.
Yandex
Объявления
23.11.2014, 12:02     Обход треугольника по часовой стрелке
Ответ Создать тему
Опции темы

Текущее время: 09:12. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru