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

Принадлежит ли точка многоугольнику - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрицы http://www.cyberforum.ru/cpp-beginners/thread570402.html
Из заданной матрицы A размером N*M получить матрицу В размером M*(N+M-1) по определенному на рисунке правилу. Недостающие элементы заменить нулями.
C++ Найти сумму ряда Найти сумму ряда с точностью до члена ряда, меньшего 0.0001 для заданного значения и сравнить эту сумму с функцией контроля. Для вычисления последующего значения члена ряда использовать рекуррентную формулу. http://www.cyberforum.ru/cpp-beginners/thread570395.html
C++ MPEG2 - Program Map Table
Необходимо добавить еще один PID в таблицу PMT. На этапе сохранения самой таблицы решил сравнить CRC32, и они не сходяться! Пробывал разные полиномы( 0x04C11DB7 / 0xEDB88320 / 0x82608EDB ), считаю с table id и до конца пока не заканчивается таблица, уже не знаю в чем может быть ошибка. Делаю по следующему алгоритму unsigned long crc32( unsigned char *buf, size_t len, size_t pol ) { ...
ERROR что обозначает ошибка C++
Что обозначает такие ошибки и как их справить ERROR требуется выражение ERROR требуется указать на функцию(Указатель функции) ERROR Объявленный идентификатор ERROR не вереное значение Кто знает как такие ошибки исправлять ?
C++ Указатели на функции http://www.cyberforum.ru/cpp-beginners/thread570355.html
Народ! Прошу у вас помощи ещё раз! Дано такое задание: С заданной точность E (Е>0) вычислить площадь заштрихованной фигуры Метод решения уравнения: Уменьшения интервала и дробления Метод вычисления интегралов: Трапеций И дана вот такая фиговина: http://www.fotolink.su/v.php?id=75586708e5eea25c5797d657e91c6242 Я с простыми интегралами то плохо дружу, а их ещё как то реализовать в...
C++ Вычислить с заданной точностью значение функции , используя ее разложение в ряд: Вычислить с заданной точностью значение функции , используя ее разложение в ряд: подробнее

Показать сообщение отдельно
_or_75
-1 / 0 / 0
Регистрация: 18.02.2012
Сообщений: 244
10.05.2012, 22:54     Принадлежит ли точка многоугольнику
Цитата Сообщение от ser4ega Посмотреть сообщение
вот так написал
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <iostream.h>
 
bool amafree(float x1, float x2, float x3, float x4, float y1, float y2, float y3, float y4, float dotx, float doty)
 
{float x[4],y[4],temp;
for(int i=0;i<4;i++)
for(int j=0;j<3;j++)
{
        if(x[j]<x[j+1])
        {
                     temp=x[j];
                     x[j]=x[j+1];
                     x[j+1]=temp;  
                     temp=y[j];
                     y[j]=y[j+1];
                     y[j+1]=temp;  
                       }
        }
 
if (y[2]<y[3]) {temp=x[2];
                     x[2]=x[3];
                     x[3]=temp;  
                     temp=y[2];
                     y[2]=y[3];
                     y[3]=temp;  }//теперь мы упорядочили точки прямоугольника, чтобы понимать его как у меня на рисунке
     x1=x[0];
     x2=x[1];
     x3=x[2];
     x4=x[3];
     y1=y[0];
     y2=y[1];
     y3=y[2];
     y4=y[3];//так мне удобнее, потому что часть условий уже написал без всяких массивов
     
     float k[10];
     k[0]=(x1-x2)/(y1-y2);
     k[1]=(x1-x3)/(y1-y3);
     k[2]=(x3-x4)/(y3-y4);
     k[3]=(x2-x4)/(y2-y4);//коэффициенты прямых, проходящих по сторонам прямоугольника
  //   if(k[0]!=k[2]||k[1]!=k[3]) {cout<<"Eto dazhe ne parallelogramm\n";return false;}//условие параллельности противолежащих сторон
   //   if(k[0]!=1/k[1]||k[2]!=1/k[3]) {cout<<"Eto dazhe ne pryamougolnik\n";return false;}//условие перпендикулярности смежных сторон
     if(dotx<x[1])&&(dotx<x[2])&&(dotx<x3)&&(dotx<x4)||(doty<y1)&&(doty<y2)&&(doty<x3)&&(doty<x4)||//лежит точно вне
     (dotx>1)&&(dotx>x2)&&(dotx>x3)&&(dotx>x4)||(doty>y1)&&(doty>y2)&&(doty>x3)&&(doty>x4)||//лежит точно вне
     (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[0]*dotx<0)||//нижний левый треугольник
     (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[1]*dotx>0)||//верхний левый
     (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[2]*dotx>0)||//верхний праввый
     (dotx>x1)&&(dotx<x2)&&(dotx<x3)&&(dotx<x4)&&(doty-k[3]*dotx<0)//нижний правый
     return false;
     return true;
     }
если често я такие коды вообще непонимаю
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru