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

Люди помогите с выпуклой оболочкой! - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Конвертация типов данных http://www.cyberforum.ru/cpp-beginners/thread486885.html
Доброго время суток. Хотел бы задать простенький вопрос. 1.Из ком. строки читаются параметры argv. Допустим один из них равен '12' каким образом перевести его в целочисленный тип данных(в число двенадцать) и проверить можно ли это сделать(т.е не введено ли 'asd32'). Заранее спасибо.
C++ Инкапсуляция визуального компонента Подскажите, есть ли способ инкапсулировать визуальный компонент в невизуальный класс? http://www.cyberforum.ru/cpp-beginners/thread486875.html
C++ TWAIN help (любой информации)
Привет всем ! Бoлшaя прблемa у меня с TWAINoм. Реaлнo нужнo испoлзoвaть TWAIN в JAVA , нo если будут предлoжения пo пoвoду CPP - я не прoтив . Суть вoт в чем : Нужнo кaкимтo чудoм oтoбрaжзть видеo взятoйе с TWAINa . Прoбoвaл испoлзoвaть прoстo getImage пo oднoй кaртинке - тoгдa быстрее чем 1 кaдр зa 2секунды не выхoдит . A нaдo хoтя бы 2 кaдрa в секунду. Елси будут кaкие нибудь предлoжения...
Как связать две таблицы по нескольким полям? C++
Нужно, что бы работала связь Master-Detail. Но связать таблицы можно только сразу по двум полям, т.к. только в паре получается уникальная запись. Использование фильтра по двум полям одновременно - тормозит... Как это сделать?
C++ WinAPI WinAPI, подсистема MIDI http://www.cyberforum.ru/cpp-beginners/thread486854.html
Нужно сыграть в проге несколько нот, которые не должны выковыривыться из MIDI-файла. В билдеровском хелпе, вроде есть описание миди-сообщений. Но до меня так и не дошло, как ими задать длительность ноты (ноет, пока сам не убьешь).. Я с миди последний раз на Спектруме сталкивался..Help, please.
C++ Программа для прорисовки фигуры-прямоугольника горю! срочно нужна помощь,нужно написать программу, а я в с++ ну ни бум-бум задание такое: написать прогу кот прорисовывает фигуру-прямоугольник один и второй каждый из них принадлежит классу, память для этого должна выделяться с пмощью 'new' и выдает разницу между ними если кто знает или у кого есть похожая- плз! пошлите на pnlara@mail.com подробнее

Показать сообщение отдельно
Ketty
Сообщений: n/a
25.07.2010, 21:36     Люди помогите с выпуклой оболочкой!
Знающие люди, нужна ваша помощь в таком задании: Модифицировать текст эталонного проекта 'Выпуклая оболочка' так, чтобы индуктивно определить количество ребер выпуклой оболочки, целиком лежащих внутри заданного квадрата. Please, help me!!!!

// Pol.cpp : Defines the entry point for the console application.
//

//#include 'stdafx.h'
#include <iostream.h>
#include <math.h>

//Klass, opisyvauchiy tochku (Point) na ploskosti (R2)
class R2Point
{

public: double x,y;
R2Point(double a, double b)
{
x=a; y=b;
};
public: R2Point()
{
x=0;
y=0;
};
public: double dist(R2Point a, R2Point b)
{
return sqrt((a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y));
};
public: double area(R2Point a, R2Point b, R2Point c)
{
double s= 0.5*((a.x-c.x)*(b.y-c.y)-(a.y-c.y)*(b.x-c.x));
return (s);
};
public: int equal(R2Point a, R2Point b)
{
return (a.x==b.x && a.y==b.y);
};
public: int isTriangle(R2Point a, R2Point b, R2Point c)
{
return (area(a, b, c) != 0.0);
};
public: int inside(R2Point a, R2Point b)
{
return ((a.x <= x && x <= b.x || a.x >= x && x >= b.x) &&
(a.y <= y && y <= b.y || a.y >= y && y >= b.y));
};
public: int light(R2Point a, R2Point b)
{
double s=area(a, b, *this);
return (s < 0.0 || (s == 0.0 && ! inside(a, b)));
};
};

//Nepreryvnaya realizaciya deka
class Deq
{
//private final static int DEFSIZE = 16;
R2Point array[16];
int size, head, tail;
int forward (int index)
{
return (++index <16 ? index : 0);
};
int backward (int index)
{
return (--index >=0 ? index : 15);
};
public: Deq (int razmer)
{
size=head=0;
tail=15;
};
public: Deq()
{
size=head=0;
tail=15;
// this(DEFSIZE);
};
public: int length()
{
return (size);
};
public: void pushFront(R2Point p)
{
array[head=backward(head)]=p;
size +=1;
};
public: void pushBack(R2Point p)
{
array[tail=forward(tail)]=p;
size +=1;
};
public: R2Point popFront()
{
R2Point p=front();
head=forward(head);
size -=1;
return (p);
};
public: R2Point popBack()
{
R2Point p=back();
tail=backward(tail);
size -=1;
return (p);
};
public: R2Point front()
{
return (array[head]);
};
public: R2Point back()
{
return (array[tail]);
};
};

//Klass, zadaushiy novyi tip - Figure
class Figure
{
public: virtual double area()
{return (0.0);};
public: virtual double perimeter()
{return (0.0);};
public: virtual Figure *add(R2Point p)
{return this;};
};

//Klass 'mnogo-ugolnik'
class Polygon: public Figure, public Deq
{
double s,p;

private: void grow(R2Point a, R2Point b, R2Point t)
{
p -= a.dist(a,b);
s += fabs(t.area(a,b,t));
};

public: Polygon (R2Point a, R2Point b, R2Point c)
{
pushFront(b);
if (b.light(a,c))
{
pushFront(a); pushBack(c);
} else
{
pushFront(c); pushBack(a);
};
p=a.dist(a,b) + b.dist(b,c) + c.dist(c,a);
s=fabs(a.area(a,b,c));
};

public: double area()
{
return s;
};
public: double perimeter()
{
return p;
};
//////////////////////////////
public: Figure *add(R2Point t)
{
int i;
//Ischem osveschennye rebra
for (i=length(); i>0 && !t.light(back(),front()); i--)
pushBack(popFront());
//UTVERGDENIE: libo rebro [back(),front()); osvesheno iz t,
// libo osveshennych reber net sovsem.
//
if (i>0) {
R2Point x;
grow(back(),front(),t);
// Udalaem vse osveshennye rebra iz nachala deka
for (x=popFront(); t.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 04:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru