0
我有兩個數組,我想計算兩個數組之間有多少個元素相同。 我嘗試了很多次,但輸出不正確。正確的應該是6
乘以 ,但代碼中的輸出是4
次。C++如何打印2個數組中有多少元素重複?
注:如果s1
爲"ss"
和s2
爲"ss"
,是結果2
這裏是我的代碼:
#include <iostream>
#include <string>
using namespace std;
int main() {
char s1[] = "FOOBART";
char s2[] = "BFORATO";
int flag=0;
for(int i=0, j=0; i < sizeof(s1) && j < sizeof(s2);) {
if(s1[i] == s2[j]) {
flag++;
i++;
j++;
} else if(s1[i] < s2[j]) {
i++;
} else {
j++;
}
}
cout << flag;
}
定義 「是相同的」。有很多方法可以解釋這一點。 –
你需要計數匹配的_different_字符還是全部?如果's1'是「ss」,'s2'是「ss」,結果是1還是2? –
您當前的程序輸出4,不是預期的6也不是意想不到的8:[Demo](http://ideone.com/N6edoh)。 – Jarod42