2017-02-14 17 views
0

ファイル内の4つの異なる文にgetline(infile, aSentence)を使用し、文字列として格納する必要があります。次に、すべての単語の最初の文字を最後の文字に移動するアルゴリズムを作成してから、単語「ay」を追加する必要があります。例えばC++で文字列を検索、置換、追加する

:「あなたはclaptrap私を呼び出すことができますが、」「ouyay aymay allcay emay laptrapcay」になります

これを行うための最善の方法は何ですか?私は白いスペースにaSentence.find(" ")を使用し、 "ay"を追加するにはaSentence.appendを使用することを考えていました。私はどのように手紙の位置を移動するか分からない。

うまくいけば、これは感謝します、ありがとう。

コード私がこれまで持っている(不完全が、それは概念です):

int characterIndex = 0; 
char firstChar = sentence.at(characterIndex); 
char currentChar = sentence.at(characterIndex); 
while (currentChar != '.'); 
{ 
    if(currentChar == ' ') 
    { 
     sentence.replace(characterIndex, "ay") 
    } 
} 
+0

どの言語で表示されますか?あるいは、擬似コードを探していますか? –

+0

いくつかのコードを試してみたら、それを質問に入れれば、助けを得るのがより簡単になります! –

+0

申し訳ありませんが、C++です。ここまで私が今までに持っているのは部分的な擬似コードですが、それがコンセプトです。 – kekstorm

答えて

0

まず最初は、あなたの関数のプロトタイプ

std::string toPigLatin(const std::string &english); 

は今それのためのユニットテストを書くことです。こんにちは!そして戻ってelloヘイorlday!または取得する必要がありますwhatevery。

今すぐユニットテストを受けてください。英語で索引変数iを渡してラテン語の豚に追加すると、私はオフワード(空白または句読点)、単語、または最初の文字の3つの状態になります。私たちは1文字の単語を持つことができますので、最初の文字をオフワードにすることができますが、オフワードからオンワードにすることはできません。最初の文字状態を通過する必要があります。 最初の文字の状態を入力するときは、その文字を一時的に保存します。あなたがオフワード状態になると、それを書き出して "ay"を追加します。それ以外の場合は、読み込んだ文字を書き出します。初期状態はオフワードです。

関連する問題