ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
// метод проверки выполнения равенства f(x,y) = b для
// ограничений видов "<=",">=","="
bool Constraint::IsOnBound(Point pt)
{
// для ограничений видов "<",">", "<>"
// равенство не должно выполняться
if(type == l || type == g || type == n)
return false;
// вычисление значения функции в точке
double val = function->Сalculate(pt);
// сравнение с правой частью на выполнение равенства
if (val == b)
return true;
return false;
}
Далее определим методы класса Set. Отметим, что в этом классе
отсутствует метод ввода информации о системе ограничений. Ввод
выполняется в конструкторе класса Set при создании массива
ограничений (в конструкторе каждого ограничения).
// конструктор класса «Множество точек на плоскости»
// с заданным количеством ограничений
Set::Set(int n1)
{
n = n1;
constraints = new Constraint [n];
}
// деструктор класса «Множество точек на плоскости»
Set::~Set()
{
delete [] constraints;
}
// метод проверки, принадлежит ли точка множеству
bool Set::Belongs(Point pt)
{
// точка не принадлежит множеству, если не
// выполняется хотя бы одно из ограничений,
// определяющих множество
for(int i = 0; i < n; i++)
if (!constraints[i].IsExecute(pt))
return false;
return true;
198
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М. // метод проверки выполнения равенства f(x,y) = b для // ограничений видов "<=",">=","=" bool Constraint::IsOnBound(Point pt) { // для ограничений видов "<",">", "<>" // равенство не должно выполняться if(type == l || type == g || type == n) return false; // вычисление значения функции в точке double val = function->Сalculate(pt); // сравнение с правой частью на выполнение равенства if (val == b) return true; return false; } Далее определим методы класса Set. Отметим, что в этом классе отсутствует метод ввода информации о системе ограничений. Ввод выполняется в конструкторе класса Set при создании массива ограничений (в конструкторе каждого ограничения). // конструктор класса «Множество точек на плоскости» // с заданным количеством ограничений Set::Set(int n1) { n = n1; constraints = new Constraint [n]; } // деструктор класса «Множество точек на плоскости» Set::~Set() { delete [] constraints; } // метод проверки, принадлежит ли точка множеству bool Set::Belongs(Point pt) { // точка не принадлежит множеству, если не // выполняется хотя бы одно из ограничений, // определяющих множество for(int i = 0; i < n; i++) if (!constraints[i].IsExecute(pt)) return false; return true; 198
Страницы
- « первая
- ‹ предыдущая
- …
- 196
- 197
- 198
- 199
- 200
- …
- следующая ›
- последняя »