2013-03-28 1 views
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";> 

어떤 이유에서 배열에 내 값을 저장할 수 없습니다! 그 initialzation 오류 또는 변환 오류 또는 무엇을 알지 못합니다.배열 파이의 크기가 아닌 intergral 유형 '이중'오류가 있습니다

오케이 죄송합니다. 배열에 두 번째 위치를 지정하지 않았지만 고정 크기 오류가 발생했습니다. 주위에?

+2

''int pie [i] = pi'가 무엇을 기대합니까? – NPE

+0

글쎄, 각각의 반복을 + =를 사용하는 대신 배열에 저장하고 배열을 더 추가하려고합니다. – user1914650

+0

그리고, 왜 내가 두 배입니까? 루프 변수에 부동 유형을 사용하지 마십시오. –

답변

0

나는 아직도 어딘가에 파이를 선언해야하지만 당신이

pie[i] = pi; 

대신

int pie[i] = pi; 

의 의미 생각합니다. 그리고 당신의 코드의 논리는 나에게 약간 혼란 스럽기 때문에 그 밖의 무엇을 제안해야할지 모르겠습니다.

하지만 어쨌든 배열을 선언 할 때의 차이점을 이해해야합니다. int pie[100]; 및 배열을 할당 한 위치 예 : . 이들은 서로 다른 두 가지입니다.

+0

나중에 미안하지만 나는 프로그래밍의 이상한 스타일을 가지고있다. 나는이 첫 해에 여전히 의견을 사용하는 습관을 꾸려야한다. – user1914650

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입니다.

관련 문제