存储char信息的2-d int数组

时间:2016-03-20 11:39:06

标签: c++ arrays string

有两个字符串,我需要比较它们是否不同,如果它们不同,我需要标记它们的索引。 第一个字符串是:“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;
                  }

0 个答案:

没有答案