-4

したがって、このテキスト ファイルから数値を合計するプログラムを作成する必要があります。

3

22 5126717910121751622546

29 888888888888888888888888888

40 2525255125133485451578436833138834387837

最初の行は行数を示し、次の行は合計する必要がある数値です。次のいずれかの行の最初の数値は、2 番目の数値の桁数を示します。

出力ファイルは次のようになります。

2525255125222374345594043632149474899271

多次元配列を使用する必要があることがわかりました。私は C++ が初めてで、多次元配列に慣れていないので、助けが必要です。前もって感謝します!PS私の英語が悪かったらごめんなさい。

4

1 に答える 1

0

これらの整数は非常に大きいため、それらを文字列に格納し、それらの文字列 (実際には大きな整数) に対して演算子 + を定義する必要があります。

実際に BigInteger add を行う場合、「桁数」は関係ないため、次のようにしてそれらを 1D ベクトルに格納できます。一方、結果の桁数ではなく合計のみを出力します。

   vector<string> data;
   ifstream dataFile("dataInput.txt");   //or you can use stringstream
   long numbers = 0; 
   dataFile >> numbers;
   long digits = 0;
   string currentNum;   
   while (dataFile >> digits >> currentNum)
   {
     data.push_back(currentNum);
   }
   //now add those integers

BigInteger の追加は簡単です。

于 2013-03-29T17:31:04.253 に答える