C++布尔问题(两个数组之间的比较)

chhqkbe1  于 2023-05-02  发布在  其他
关注(0)|答案(4)|浏览(137)

我有个问题要解决。我已经做了一部分,但我坚持,不知道下一步该怎么做。
问题是:你有两个int数组,分别命名为A和B。一个包含AMAXELEMENTS,另一个包含BMAXELEMENTS。写一个布尔值函数,如果A中至少有一个点与B中的一个点相同,则返回true,如果两个数组之间没有匹配,则返回false。“
这两个数组是我做的,我想如果我知道如何比较两个数组,我就可以了,我就可以完成我的问题。
这是我到目前为止所做的(我将AMAXELEMENTS更改为AMAX,将BMAXELEMENTS更改为BMAX):

#include <iostream>
using namespace std;

int main()
{
    const int AMAX = 5, BMAX = 6;
    int i;
    bool c1 = true, c2 = false;
    int A[AMAX] = { 2, 4, 1, 5, 9 };
    int B[BMAX] = { 9, 12, 32, 43, 23, 11 };

    for (i = 0; i < BMAX; i++)
        if (B[i] == A[i])       //  <---- I think this part has to look
                                //        different, but I can't figure it out.
            cout << c1 << endl;
        else
            cout << c2 << endl;
    return 0;
}
rsl1atfo

rsl1atfo1#

这看起来像是家庭作业,所以我不会告诉你答案。但我会指出一些基本问题。
首先,你应该尝试定义一个返回true/false的函数:

bool has_identical_value(int A[], size_t A_MAX, int B[], size_t B_MAX)
{
    bool answer = false;

    ... your homework goes here ...

    return answer;
}

其次是确保永远不要引用A[i] where i >= A_MAX,也不要引用B[j] where j >= B_MAX

oknwwptz

oknwwptz2#

您应该在2个数组上循环,而不是在1个数组上循环进行比较。否则,您将比较2与9,4与12等
这里有一些指向正确的方向:

for(i=0;i<BMAX;i++)
{
    for (j=0;j<AMAX;j++)
    {
        if (B[i]==A[j])
        {
        }
        else
        {
        }
    }
}

你应该把它 Package 在一个函数中,就像你的问题所陈述的那样。

gfttwv5a

gfttwv5a3#

首先,你需要写一个函数。然后学习函数,因为目前你似乎不知道函数是什么。
这里有一个提示,你的循环做错了什么?

for(i=0;i<BMAX;i++)
   if (B[i]==A[i]) //A[BMAX - 1]???
mu0hgdu0

mu0hgdu04#

我的答案再次。..经过几个小时的工作与此:)感谢帮助!

包含

使用命名空间std;
public int findDuplicate(int [] nums,int [] nums);

int main(){

  const int SIZEA=5;
  const int SIZEB=4;
 int A[]={54,65,76,67,4};
  int B[]={23,435,67,5};

  if (myBool(SIZEA, SIZEB,A,B))
     cout<<"TRUE"<<endl;
  
  else
     cout<<"FALSE"<<endl;
  return 0;

}

bool myBool(int AMAXELEMENTS, int BMAXELEMENTS, int A[], int B[]){
  int i,j;

  for(i=0;i<AMAXELEMENTS;i++){
     for(j=0;j<BMAXELEMENTS;j++){
        if(A[i]==B[j])
           return true;       
     }
  } 
  return false;

}

相关问题