2012-04-11 9 views
0
string word1 = "misisipi"; 
string word2 = "mississippi"; 

これらの文字列を「比較」して共通ではない文字を「出す」ことができます。 たとえば、word2は"misisipi"に縮小され、 'S'esは順番に保持されます。word1はすべての文字がword2であるため変更されません。私は文字列内の要素を削除する方法を認識していますが、今回はその順序を維持したいと思います。たとえば、私がをしなかった場合、word2は、私が欲しいものではない"missipi"となると、比較後に注文を維持するではありません。2つの文字列の比較では一般的でない文字を削除する

+4

ほとんどの方法で試したコードを投稿してください。 –

答えて

0

有効なword2文字をword1の各要素を反復するときに、word1にコピーしてみます。

std::string temp; 
std::string::iterator w2 = word2.begin(); 

for(std::string::iterator w1 = word1.begin(); w1 != word1.end(); ++w1) 
{ 
    for(; w2 != word2.end(); ++w2) // Move through word2... 
    { 
     if(*w1 == *w2) // Copy the character into temp when found. 
     { 
      temp += *w2; 
      break; 
     } 
    } 
} 

std::cout << temp << std::endl; 

スピードが必要な場合は、事前にtempを割り当てることができます。

+0

ありがとうございました! –

関連する問題