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

Принадлежит ли точка заштрихованной области - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Получить сумму тех членов последовательности, которые нечетны и отрицательны http://www.cyberforum.ru/cpp-beginners/thread652743.html
Даны натуральное n, целые числа a1, …, an. Получить сумму тех членов последовательности a1, …, an , которые нечетны и отрицательны.
C++ Верно ли, что наибольший член в последовательности по модулю больше единицы? Даны натуральное n, действительные числа a1, …, an. Верно ли, что наибольший член в последовательности a1, …, an по модулю больше единицы? http://www.cyberforum.ru/cpp-beginners/thread652741.html
C++ Задача "сумма цифр стоящих на четных позициях", исправьте пожалуйста ошибки
Дано натуральное число n. Найти сумму цифр числа, находящихся на четных позициях (старшая цифра числа находится на первой позиции). #include<iostream> #include<conio.h> using namespace std; void main() { setlocale (LC_ALL,".1251"); long a,b,d,с,n; int last;
C++ кто знает решение напишите
Пожалуйста, подскажите в чем ошибка. При запуске выдает ошибку: «error C4716: mean: должна возвращать значение». Два дня голову ломал, не вариантов больше нету. //Лабораторная робота №1 задание №1 в1 #include "stdafx.h" using namespace std; int mean() { cout<<"Для вычисления значений \"a\" и \"b\" введите следующие данные: "<<endl; double x; cout<<"введите значение \"x\": "<<endl;
C++ Функция, перемножающая два числа с учётом переполнения http://www.cyberforum.ru/cpp-beginners/thread652721.html
привет) помогите пожалуста с задачкой: есть 2 числа типа unsigned short int (в програме использивать только short, нельзя брать что то, что больше 2байт). нужно реализовать функцию unsigned short int Create(unsigned short int a,unsigned short int b,unsigned short int &c); где, a,b-эти два числа, c-результат множения, тоисть c=a*b; но как мы знаем, этот результат может бить больше чем может...
C++ Разработать программу, которая для введенного символа арифметической операции ('+','-','/','*','%') печатает ее название Разработать программу, которая для введенного символа арифметической операции ('+','-','/','*','%') печатает ее название. подробнее

Показать сообщение отдельно
Topotun
87 / 46 / 7
Регистрация: 16.09.2012
Сообщений: 192
16.09.2012, 16:03     Принадлежит ли точка заштрихованной области
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// p1 - p3: вершины треугольника, ptest: проверяемая точка.
// VEC - структура, содержащая поля X, Y, написанная нами.
// Можно вполне использовать POINT из <windows.h>
// Возвращается TRUE, если принадлежит, иначе - FALSE.
BOOL IsInTriangle( VEC P1, VEC P2, VEC P3, VEC PTest )
{
  int a = (P1.X - PTest.X) * (P2.Y - P1.Y) - (P2.X - P1.X) * (P1.Y - PTest.Y);
  int b = (P2.X - PTest.X) * (P3.Y - P2.Y) - (P3.X - P2.X) * (P2.Y - PTest.Y);
  int c = (P3.X - PTest.X) * (P1.Y - P3.Y) - (P1.X - P3.X) * (P3.Y - PTest.Y);
 
  if ((a >= 0 && b >= 0 && c >= 0) || (a <= 0 && b <= 0 && c <= 0))
    return TRUE;
  else
    return FALSE;
}
пусть твоя точка имеет координаты (х,у), а вершины треугольника - (х1,у1), (х2,у2), (х3,у3).

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

точка с координатами (х,у) принадлежит полуплоскости, когда находится по одну из сторон некоторой прямой, а именно y-(kx+b)>=0 , где k, b - параметры данной прямой.

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

составить уравнение прямых можно с помощью уравнения прямой, проходящей через 2 точки на плоскости.

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