私のソースコードを書かされたときに継続して失敗しました。 target_word
が間にスペースを入れずに2回書かれている場合を除いて、ほぼすべてのテストケースで動作するようです。すなわち、target_word
が「入力」でchanged_word
が「出力」である場合、プログラムは「inputinput」を「outputoutput」に変更し、 「入力」の他のサンプルを「出力」に変更しないでください。どうすればこの問題を解決できますか?プログラムは、対象の単語が二度
0
A
答えて
0
while(iss>>word)
は、空白で区切られた単語をとり、word
に格納します。入力が「入力入力」の場合、ストリームは「入力」をword
に書き込み、スペースで停止します。次の反復で、次の「入力」が読み取られます。しかし、入力が "inputinput"の場合、最初の "input"を区切る空白がないので、 "inputinput"はword
に読み込まれます。これは "入力"には一致しませんが、1つには長すぎますので、置き換えは起こりません。
編集:私は混乱の一部を見ていると思います。 「海魚魚」の代わりに「魚」と置き換えて使用する「海魚魚釣り魚釣り」の出力を調べてみましょう。
Iteration 1: walrus != fish. No replacement. Line = "walrus fishfish fish tank"
Iteration 2: fishfish != fish. No replacement. Line = "walrus fishfish fish tank"
Iteration 3: fish == fish. Replace first fish. Line = "walrus birdfish fish tank"
Iteration 4: tank != fish. No replacement. Line = "walrus birdfish fish tank"
第3の「魚」は、唯一認められた魚であったため、第1の「魚」を置き換えたものです。これは、stringstream
と>>
の代わりに、何を使用すべきかに関するヒントを提供します。
代わりに行を解析するstringstream
と>>
を使用して、あなたはおそらくfind
auto pos = line.find(target_word);
while (pos != string::npos)
{
line.replace(pos, target_word.length(), changed_word);
pos = line.find(target_word);
}
または単純あまり明らかに付着したほうが良いです:これはにつながること
while ((auto pos = line.find(target_word)) != string::npos)
{
line.replace(pos, target_word.length(), changed_word);
}
注意target_word
が無限ループの場合はtarget_word == changed_word
となるので、常にtarget_word
を見つけて置き換えます。target_word
。このケースは早期にチェックすることができ、プログラムはユーザーの入力を単に戻すだけの別のパスを入力することができます。ユーザーはその違いを知ることができません。
関連する問題
- 1. C#が 'UPDATE' の対象として、二度の両方を指定された
- 2. 角度2削除対象
- 3. 角度2:私の角度RC2アプリでは、アクセス対象のデータ
- 4. 角度対象のサブスクリプションは、私がサービスを持っている
- 5. Javaの単語修正プログラム
- 6. Elasticsearchの単語近接度
- 7. Javaプログラム - 単語統計
- 8. ソート対象は
- 9. は二度
- 10. セッションは二度
- 11. SharePoint 2007:対象ユーザー対象ユーザーが見つからない
- 12. 単語検索プログラムの問題
- 13. プログラムをテストするための.txt単語の頻度リストを探す
- 14. 単語予測:ニューラルネット対nグラムのアプローチ
- 15. 反対の対象に
- 16. その単語が別の単語
- 17. 抽象クラス対抽象クラス
- 18. 使用jQueryのは、対象
- 19. 単語内の文字の頻度
- 20. 単語内の文字の頻度
- 21. 段落内の単語の優先度
- 22. RDFの対象述語オブジェクト・トリプレットについて
- 23. 整数が対象。ここ
- 24. Acronyms.parse([対象] .function)が機能
- 25. 文書内の単語数頻度
- 26. R単語頻度でのテキスト分析
- 27. WikiPediaの単語頻度記事
- 28. MySQL - 長いテキストフィールドの単語頻度カウント
- 29. 二述語がここ
- 30. 特定の単語の後の単語の頻度を数える