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

Лежит ли точка в круге и треугольнике - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтобы звездочка бегала по краям экрана http://www.cyberforum.ru/cpp-beginners/thread22971.html
Доброго времени суток, уважаемые программисты! Нужна помощь. Написал программу на Borland C++, которая заполняет экран ASCII символом * (звездочка), вся проблема в том что она заполняет экран от...
C++ надо программу, в которой задача состоит в том, чтобы найти точку на двумерной сетке Точка, безусловно, определяется координатами. Сетка должна иметь определенный размер, например, от 100 до 100 меш. Программа должна в начале своей деятельности выбирать точку на сетке(случайно), и... http://www.cyberforum.ru/cpp-beginners/thread22964.html
Классы в Turbo C/Borland C C++
Класс для объекта-вектора, что задается координатами концов. Создать операции сложения и отнимания. Можете написать как должен выглядеть этот класс?
C++ Сортировка массива структур
Имеется массив структур, который необходимо отсортировать по числовому ключу. Я написал код, но он не работает, поэтому просьба указать на ошибку. #include <stdio.h> #include <stdlib.h> int...
C++ По матрице и заданному числу построить вектор http://www.cyberforum.ru/cpp-beginners/thread22942.html
По матрице размерностью m*n и заданному числу построить вектор, элемент которого равен 1, если наибольший элемент соответствующей строки матрицы не меньше заданного числа, и 0 - в остальных случаях....
C++ В квадратной матрице найти максимальный элемент для каждой строки 4. В квадратной матрице с числом строк не более 15 найти максимальный элемент для каждой строки, подсчитать сумму найденных элементов и выбрать минимальный из них. Формат числа ±цц. подробнее

Показать сообщение отдельно
ostgals
878 / 673 / 15
Регистрация: 23.01.2009
Сообщений: 1,578
11.02.2009, 18:41
За разъяснениями сюда.

C++
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
29
30
31
32
33
34
35
struct Point
{
    int x, y;
}
 
int classify(Point p, Point p1, Point p2)
{
    return (p2.x - p1.x) * (p.y - p1.y) - (p.x - p1.x) * (p2.y - p1.y);   
}
 
int in_triangle(Point p, Point p1, Point p2, Point p3)
{
    // p - testiruemaja tochka
    // p1, p2, p3 - vershiny treugol'nika
    
    int c1 = classify(p, p1, p2);
    int c2 = classify(p, p2, p3);
    int c3 = classify(p, p3, p1);
    
    return ((c1 > 0 && c2 > 0 && c3 > 0) || (c1 < 0 && c2 < 0 && c3 < 0)) ? 1 : 0;
}
 
int in_circle(Point p, Point c, int r)
{
    // p - testiruemaja tochka
    // c - centr okruzhnosti
    // r - radius okruzhnosti
    
    int rx = p.x - c.x;
    int ry = p.y - c.y;
    
    return (rx * rx + ry * ry < r * r) ? 1 : 0;
}
 
int in_circle_and_in_triangle = (in_circle(...) && in_triangle(...));
Код не проверял, если честно. Отлаживайте сами :P
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru