如何解决如何在C++上比较两个数组上的元素
一个 c ++ 问题,我必须确定用户是否击中了目标。输入敌人可能所在的坐标后,用户然后输入更多坐标,我必须比较它们,如果攻击的元素 [i] 与敌人 [n] 的任何元素匹配,则打印 YES。我知道我在比较位置而不是元素,这就是为什么它不起作用但我迷路了。我也尝试通过只制作一个数组来解决它,但这样感觉更好。
#include <iostream>
using namespace std;
int main()
{
int n,k,b;
int enemies[];
int attacks[];
cin>>n;
for (int i=0; i<n; i++) {
cin>>b;
enemies[i]=b;
}
cin>>k;
for (int i=0; i<k; i++) {
cin>>b;
atacks[i]=b;
}
for(int i=0; i<k; i++){
if(atacks[i]==enemies[i]){
cout<<"YES"<<endl;
}
else{
cout<<"NO"<<endl;
}
return 0;
}
解决方法
您的代码可能不起作用,因为这一行:
if(atacks[i]==enemies[i])
要求匹配的 attack
和 enemy
在它们的数组中应该有相同的索引。
正如评论中所建议的,您需要为 EACH enemies
迭代 ALL attack
,即“O(n*k) 解决方案”
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。