如何比较两个数组的相似性

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;