如何比较两个数组的相似性
how to compare two arrays for similarity
在 C++ 中比较两个数组时,我一直在努力调整这段代码。我已经在本网站上看到了其他示例,并根据建议相应地调整了我的代码。但是当我 运行 此代码具有相同的元素和不同的元素以及不同大小的数组时。它总是说它是真的并且数组是相等的。有没有人对如何进行适当的更正有任何建议?谢谢
#include<iostream>
using namespace std;
int main(){
int arr1[6] ={1,2,3,4,5,6};
int arr2[6] ={1,2,3,4,5,6};
int *p1 = arr1;
int *p2 = arr2;
bool equal = true;
int index = 0;
while(index < 6){
if(p1[index] == p2[index]){
equal = true;
index ++;
}
else
{
equal = false;
break;
}
}
if(equal == true)
cout<<" The arrays are equal"<< endl;
else
cout<<" The arrays are equal"<< endl;
return 0;
}
代码在这里
你的问题是你的两个输出说的是同一件事。
相应地修改最后一个:
if(equal == true)
cout<<" The arrays are equal"<< endl;
else
cout<<" The arrays are not equal"<< endl;
在 C++ 中比较两个数组时,我一直在努力调整这段代码。我已经在本网站上看到了其他示例,并根据建议相应地调整了我的代码。但是当我 运行 此代码具有相同的元素和不同的元素以及不同大小的数组时。它总是说它是真的并且数组是相等的。有没有人对如何进行适当的更正有任何建议?谢谢
#include<iostream>
using namespace std;
int main(){
int arr1[6] ={1,2,3,4,5,6};
int arr2[6] ={1,2,3,4,5,6};
int *p1 = arr1;
int *p2 = arr2;
bool equal = true;
int index = 0;
while(index < 6){
if(p1[index] == p2[index]){
equal = true;
index ++;
}
else
{
equal = false;
break;
}
}
if(equal == true)
cout<<" The arrays are equal"<< endl;
else
cout<<" The arrays are equal"<< endl;
return 0;
}
代码在这里
你的问题是你的两个输出说的是同一件事。
相应地修改最后一个:
if(equal == true)
cout<<" The arrays are equal"<< endl;
else
cout<<" The arrays are not equal"<< endl;