Задать вопрос
@AlexB_49
Студент

Как создать пары элементов массива, чтобы они соответствовали данному условию?

Задание: напишите программу, которая в качестве входных данных получает множество (массив) с n>30 элементами и задает на нем отношение с заданными свойствами (рефлексивность, симметрия, транзитивность).
Количество пар элементов начального множества, которые принадлежат отношению, должно быть не меньше n^3/2.
Вот здесь можно понять свойства отношений:


У меня есть код, но я не знаю как отобрать пары элементов, которые соответствуют условию:
#include <iostream>
using namespace std;

int main()
{
	int a, b, c; // parameters for input
	const int size = 40; // suppose: size = 40 (40>30)
	int ARR[size];

	for (int i = 0; i < size; i++)
	{
		cin >> ARR[i];
	}

	cout << "\nChoose the properties of the relation: " << endl;
	cout << "1 - reflective" << endl
		<< "2 - not reflective" << endl
		<< "3 - symmetric" << endl
		<< "4 - not symmetric" << endl
		<< "5 - transitive" << endl
		<< "6 - not transitive" << endl;
	cin >> a >> b >> c;

	cout << "Let's suppose that the operation is '>=' ";

	if (a == 1 && b == 3 && c == 5) // reflective, symmetric, transitive
	{
		for (int i = 0; i < size - 1; i++)
		{
			if (ARR[i] == ARR[i] && ARR[i] >= ARR[i + 1] >= ARR[i] && ARR[i] >= ARR[i + 1] >= ARR[i + 2])
			{
				
			}
			
		}
	}

}

Вывод должен быть в виде (a, b) - все возможные пары элементов, которые соответствуют условию.
Помогите разобратся в этом, пожалуйста.
  • Вопрос задан
  • 187 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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