ВУЗ:
Составители:
Рубрика:
66
// класс, задающий множество как систему ограничений
class Set
{
Constraint[] constraints; // массив ограничений
int n; // количество ограничений
// конструктор, задающий количество ограничений
public Set(int n1)
{
n = n1;
constraints = new Constraint [n];
for (int i = 0; i < n; i++)
// при создании ограничения будут
// запрошены его параметры для ввода
constraints[i] = new Constraint();
}
// метод проверки, принадлежит ли точка множеству
public bool Belongs(double x, double y)
{
// точка не принадлежит множеству, если не выполняется
// хотя бы одно из ограничений, определяющих множество
for(int i = 0; i < n; i++)
if (!constraints[i].IsExecute(x,y))
return false;
return true;
}
// метод проверки, лежит ли точка на границе множества
public bool IsOnBound(double x, double y)
{
// точка лежит на границе, если выполняются все
// ограничения и хотя бы одно из них – как равенство
if (Belongs(x,y))
for(int i = 0; i < n; i++)
if (constraints[i].IsOnBound(x,y))
return true;
return false;
}
// операция получения строкового представления множества
static public implicit operator string(Set ob)
{
string res = "";
for (int i = 0; i < ob.n; i++)
res = res + ob.constraints[i] + "\n";
return res;
}
}
// класс, задающий множество как систему ограничений class Set { Constraint[] constraints; // массив ограничений int n; // количество ограничений // конструктор, задающий количество ограничений public Set(int n1) { n = n1; constraints = new Constraint [n]; for (int i = 0; i < n; i++) // при создании ограничения будут // запрошены его параметры для ввода constraints[i] = new Constraint(); } // метод проверки, принадлежит ли точка множеству public bool Belongs(double x, double y) { // точка не принадлежит множеству, если не выполняется // хотя бы одно из ограничений, определяющих множество for(int i = 0; i < n; i++) if (!constraints[i].IsExecute(x,y)) return false; return true; } // метод проверки, лежит ли точка на границе множества public bool IsOnBound(double x, double y) { // точка лежит на границе, если выполняются все // ограничения и хотя бы одно из них – как равенство if (Belongs(x,y)) for(int i = 0; i < n; i++) if (constraints[i].IsOnBound(x,y)) return true; return false; } // операция получения строкового представления множества static public implicit operator string(Set ob) { string res = ""; for (int i = 0; i < ob.n; i++) res = res + ob.constraints[i] + "\n"; return res; } } 66
Страницы
- « первая
- ‹ предыдущая
- …
- 65
- 66
- 67
- 68
- 69
- …
- следующая ›
- последняя »