<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";>
由于某些原因,我无法将我的值存储在数组中,请帮忙!我不知道它的初始化错误或转换错误是什么。
对不起,我修复了它没有注意到我没有在阵列中放置第二个i现在它给了我可变大小的初始化错误。任何方式?
答案 0 :(得分:0)
我认为你的意思是
pie[i] = pi;
而不是
int pie[i] = pi;
但是你还是要在某个地方宣布派。你的代码逻辑对我来说有点混乱,所以我不确定还有什么建议。
但无论如何,您必须了解声明数组的位置之间的区别,例如: int pie[100];
以及您为数组分配的位置,例如pie[i] = pi;
。这是两件不同的事情。
答案 1 :(得分: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
。