Дискретная математика для переполнения стека

Я не уверен, должен ли я спрашивать здесь или на математическом сайте, но я сделаю это здесь. Вот назначение: пользователь вводит 10 номеров, которые являются доменом D. Мне нужно оценить утверждение:
For All x, y in D, x<y or y <2x. Мой вопрос, что такое х, а что у?
Если я введу 1 2 3 4 5 6 7 8 9 10 в качестве домена x = 1, y = 2 и так далее? Должен ли я проверить, если 1 < 2 || 2 <2 (1)?

Я кодировал три других утверждения, которые использовали только «x», но не имели понятия из десяти введенных чисел, которое является x, а которое — y. И это не требует, чтобы пользователь вводил x и y только десять целых чисел.

Я опубликую код для других заявлений, которые я сделал.

using std::cout;
using std::cin;

void ASearch(int arr[], int);
void BSearch(int array[], int size);
void CSearch(int array[], int size);

int main(int argc, const char * argv[])
{
const int SIZE = 10;
int NumArray[10];
int num = 0;
int count = 0;

while (count < 10)
{
cout << "Enter Number "<< count + 1 <<": ";
cin >> NumArray[count];
++count;

}

/*if(!isdigit(num))
{

for (int i = 0; i < 9; ++i)
{

cout << "Enter Number "<< i + 2 <<": ";
cin >> NumArray[i];

}
}else cout << "Error: numbers only";*/

for(int j = 0; j < SIZE; ++j)
{
cout << " " << NumArray[j];
}

ASearch(NumArray, SIZE);
BSearch(NumArray, SIZE);
CSearch(NumArray, SIZE);return 0;
}

void ASearch(int arr[], int size)
{
int pos = 0;
int on = -1;
int oddTrue = 0;
int oddFalse = 0;

while (on == -1 && pos < size)
{
cout << " \nchecking: " << arr[pos];

if (arr[pos] % 2 != 0 && arr[pos] > 0)
{

cout <<"\nTrue: " <<arr[pos] << " is > 0 and odd";
++oddTrue;

}
else if(arr[pos] % 2 != 0 && arr[pos] < 0)
{
cout <<"\nFalse" << arr[pos] << "is < 0 and odd";
++oddFalse;

}
else cout << "\nNumber is even";
++pos;}
if (oddFalse > 0) cout<< "\n>>>>>>>>>A is FALSE";else cout <<"\n>>>>>>A IS TRUE";
return;
}

void BSearch(int array[], int size)
{
int on = -1;
int pos = 0;
int count = 0;

while(on == -1 && pos < size)
{
cout << "\n checking "<<array[pos];

if(array[pos] % 2 != 0  && array[pos] > 10)
{
cout << "\nTrue: " << array[pos] <<" is > 10 & odd";
++count;

}else
{
cout <<"\nFalse";
--count;
}
++pos;
}
if(count > 1 ) cout << "\n>>>>>>>>>>B IS TRUE"; else cout <<"\n>>>>>>>>>B IS FALSE";
return;
}void CSearch(int array[], int size)
{
int pos = 0;
int on = -1;
int TrueCount = 0;
int FalseCount = 0;

while (on == -1 && pos < size)
{
cout << "\n checking "<<array[pos];

if(array[pos] % 2 == 0  || array[pos] % 3 == 0)
{
cout << "\nTrue: " << array[pos] <<" is divisible by 2 or 3";
++TrueCount;

}
else if(array[pos] % 2 != 0  || array[pos] % 3 != 0)
{
cout <<"\nFalse";
++FalseCount;
}
++pos;

}

if (TrueCount < 10)
cout << "\n>>>>C is FALSE"; else cout << "\n>>>>>>>>>>C is TRUE";

}

0

Решение

Это означает, что и x, и y могут принимать любое значение в наборе D.

В псевдокоде:

for i = 1:10
for j = 1:10
x = D[i]
y = D[j]
test x < y OR y < 2 * x
loop
loop
2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector