Другие языки программирования и технологии

Даны три числа. Выберите те из них, которые принадлежат заданному отрезку [а,b]. Напишите в Си++.

Напиши мне задание в Мой мир и я тебе его решу.
Мартин Шапошников
Мартин Шапошников
404
Лучший ответ
#include <iostream>

using namespace std;

class Range
{
private:
int _from, _to;
public:
Range(int from, int to)
: _from(from), _to(to)
{
}

bool Contains(int value) const
{
return value <= _to && value >= _from;
}

friend ostream & operator<<(ostream &, const Range &);
};

ostream & operator<<(ostream & stream, const Range & range)
{
stream << '[' << range._from << ", " << range._to << ']';
return stream;
}

Range QueryRange()
{
while (true)
{
cout << "Enter range margins" << endl;

int a, b;
cin >> a >> b;

if (a < b)
return Range(a, b);

return Range(b, a);
}
}

template< int COUNT >
void QueryValues(int (&values)[COUNT])
{
for (int i = 0; i < COUNT; i++)
{
cout << "Enter a value: ";
cin >> values[ i ];
}
}

void main()
{
Range range = QueryRange();

const int count = 3;
int values[count];

QueryValues(values);

cout << "Range is " << range << endl;
for (int i = 0; i < count; i++)
{
int value = values[ i ];
cout << "Value " << value << " ";

if (range.Contains(value))
cout << "belongs to the range";
else
cout << "does not belong to the range";

cout << endl;
}
}

Похожие вопросы