有两个字符串,我需要比较它们是否不同,如果它们不同,我需要标记它们的索引。 第一个字符串是:“bundle”,第二个字符串是“double”,所以我需要做(b,d)= index 0 simlarly(u,o)= 1。我得到了这段使用2-d int数组的代码,但是int数组如何存储这样的信息。在代码中,有一个从char a到z的循环。所以他们如何比较字母,看看在代码中发表评论?
// for (i='a';i<='z';i++)
for (j=i+1;j<='z';j++)
if (x[i][j] && x[j][i])// how x[i][j] is used here with char//
// main code begins here
int x[256][256],n,i,j,ans,k;
string a,b;
main()
{
cin>>n;
cin>>a>>b;
for (i=0;i<n;i++)
{
if (a[i] != b[i])
{
x[a[i]][b[i]]=i+1;// but a[i] and b[j] are characters and x is 2-d int array
ans++;
}
}
for (i='a';i<='z';i++)
for (j=i+1;j<='z';j++)
if (x[i][j] && x[j][i])
{
cout<<ans-2<<endl;
cout<<x[i][j]<<" "<<x[j][i]<<endl;
return 0;
}
for (i='a';i<='z';i++)
for (j='a';j<='z';j++)
for (k='a';k<='z';k++)
if (x[i][j] && x[j][k])
{
cout<<ans-1<<endl;
cout<<x[i][j]<<" "<<x[j][k]<<endl;
return 0;
}