我有个问题要解决。我已经做了一部分,但我坚持,不知道下一步该怎么做。
问题是:你有两个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;
}
4条答案
按热度按时间rsl1atfo1#
这看起来像是家庭作业,所以我不会告诉你答案。但我会指出一些基本问题。
首先,你应该尝试定义一个返回true/false的函数:
其次是确保永远不要引用
A[i]
wherei >= A_MAX
,也不要引用B[j]
wherej >= B_MAX
。oknwwptz2#
您应该在2个数组上循环,而不是在1个数组上循环进行比较。否则,您将比较2与9,4与12等
这里有一些指向正确的方向:
你应该把它 Package 在一个函数中,就像你的问题所陈述的那样。
gfttwv5a3#
首先,你需要写一个函数。然后学习函数,因为目前你似乎不知道函数是什么。
这里有一个提示,你的循环做错了什么?
mu0hgdu04#
我的答案再次。..经过几个小时的工作与此:)感谢帮助!
包含
使用命名空间std;
public int findDuplicate(int [] nums,int [] nums);
}
}