繁体   English   中英

离散数学到c ++

[英]Discrete Math to c++

我不确定我应该在这里或在数学网站上询问,但我会在这里试一试。 下面是作业:用户输入10个数字,即域D。 我需要评估语句: For All x, y in D, x<y or y <2x 我的问题是什么是x,什么是y? 如果我输入1 2 3 4 5 6 7 8 9 10,因为域x = 1,y = 2,依此类推? 我是否检查1 <2 || 2 <2(1)?

我编写了另外三个只使用'x'的语句,但是输入的十个数字中没有任何线索,即x和y。 并且它不会要求用户输入ax和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";

}

这意味着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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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