0

私は C++ にかなり慣れており、最近宿題があり、最も一般的な 1000 語を文字列配列に格納する必要があります。私はこれについてどうやって行くのだろうと思っていました。これまでの私のコード例は次のとおりです。

if(infile.good() && outfile.good())
    {
        //save 1000 common words to a string 

        for (int i=0; i<1000; i++) 
        {
            totalWordsIn1000MostCommon++; 
            break; 
        }

        while (infile.good()) 
        {
            string commonWords[1000];
            infile >> commonWords;
        }
    }

ありがとう!

4

2 に答える 2

0
   #include <cstdio>
   #include <string>

   freopen(inputfileName,"r",stdin); 
   const int words = 1000;
   string myArr[words];
   for(int i=0;i<words;i++){
       string line;
       getline(cin,line);
       myArr[i] = line;      
   }
于 2012-04-23T18:19:40.087 に答える
0

上記のforループは最初は何もせず、最初の繰り返しで中断します。C++ でループを使用する方法を読んでおくとよいでしょう。また、C++ の変数のスコープも見てください。あなたの場合、commonWordsはwhileループで宣言されているため、毎回作成され、ループの繰り返しごとに破棄されます。あなたが望むのは次のようなものです:

int i = 0;
std::string commonWords[1000];
while (i < 1000 && infile.good()) {
    infile >> commonWords[i];
    ++i;
}

あなたが宿題を終わらせるために、私は残りの部分を生きています。

于 2012-04-23T18:20:40.067 に答える