2016-10-07 11 views
0

が私のコードです:それはこのように見ていることを取得しようとした出力の問題を持つ http://pastebin.com/RbFYCydfC++のテキストファイルの各行の単語数はどのように数えますか?ここで

歩道は、シェル・シルヴァスタイン7で終わるところ歩道が8を終了場所があり、 5そこに草が柔らかく白くなる.8そしてそこでは太陽が明るく輝き、7月には鳥が飛んでくる。ペパミント風を冷やす。 6煙が黒く吹き飛ぶこの場所を出て行きましょう。そして、暗い通りが風と曲がります。 7アスファルトの花が生えている窪みを通り過ぎます。8測定してゆっくりと歩いて歩きます.11白い矢印がどこに行くのかを見てください。7歩道が終わるところへ。 7はい、私たちは歩き回って歩き回り、ゆっくりと歩いて行きます。そして、白い白い矢が行く場所に行きます。8子供たちはマークし、子供たちは10知っています。歩道が終わる場所。言葉の6 総数は134

答えて

1

peekをいじってより良い方法がありますされています

まずgetlineを使用して行全体をお読みください。
istringstreamにその行を挿入します。
そのストリーム内の単語を数えます。
を繰り返します。

練習として残された実装の詳細。

0

私はあなたにそれをするためのトリッキーな方法を与えるでしょう、それは非常にうまく動作する必要があります。

string s = "this is simple test"; //assume that this is the line to be calculated 
int i=0,ans=0; 
while (s.find(' ',i+1)!=-1){ 
    i = s.find(' ',i+1); 
    ans++; 
} 
cout<<++ans<<" "; 
+0

したがって、2行目はテキストファイルの1行分で動作します。どのように私は後続の行ごとに行うのですか?また、.peek()関数を使用すると仮定します。 – greenee

関連する問題