1
<double c, six, part1, part2, part3, part4,part5;
long double pi;
    cout << "enter a number: ";
    cin >> c;

    for(double i = 0; i < c; i++)
    {

           part1 = (1/(pow(16 ,(double)i)));
           part2 = 4/(((8*i))+1);
           part3 = 2/(((8*i))+4);
           part4 = 1/(((8*i))+5);
           part5 = 1/(((8*i))+6);

            pi = ((part1)*(part2 - part3 - part4 - part5));

           for(int ii = 0; ii < c; ii++)
           {
                   int pie[i] = pi;
            }



            cout << pi << "\n";>

何らかの理由で値を配列に保存できません助けてください! 初期化エラーなのか変換エラーなのかわかりません。

申し訳ありませんが、配列に 2 番目の i を配置しなかったことに気付かずに修正したため、可変サイズの初期化エラーが発生しました。それを回避する方法はありますか?

4

2 に答える 2

0

私はあなたが意味すると思います

pie[i] = pi;

それ以外の

int pie[i] = pi;

ただし、パイをどこかで宣言する必要があります。そして、あなたのコードのロジックは私にとって少し混乱しているので、他に何を提案すればよいかわかりません.

int pie[100];しかし、とにかく、配列を宣言する場所 egと配列を割り当てる場所eg の違いを理解する必要がありますpie[i] = pi;。これらは2つの異なるものです。

于 2013-03-28T10:56:38.287 に答える
0
 for(int ii = 0; ii < c; ii++)
 {
  pie[ii] = pi; // not pie[i],since its in the loop with iterator ii
 }

これは役に立ちますか?

pie[i]外側のループ値でi使用されます。

于 2013-03-28T11:10:09.603 に答える