简体   繁体   中英

Discrete Math to c++

I'm not sure if I should be asking here or on the math site but I'll give it a shot here. Heres the assignment: A user enters 10 numbers which is the domain D . I need to evaluate the statement: For All x, y in D, x<y or y <2x . My question, what is x and what is y? If I enter 1 2 3 4 5 6 7 8 9 10 as the domain does x =1, y =2 and so on? Do I check if 1 < 2 || 2 <2(1)?

I coded three other statements that only used 'x' but have no clue out of the ten numbers entered which is x and which is y. And it doesn't call for the user to enter ax and y just ten integers.

I'll post the code for the other statements I did.

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";

}

It means that both x and y can take on every value in the set D.

In pseudocode:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM