2014-05-24 3 views
-4

배열의 크기를 조정하려고합니다. 예를 들어, 10 개의 요소가있는 배열이있는 경우 첫 번째 5 개의 요소를 제외하고 다른 5 개의 요소를 정의한 다음 새 배열을 새 배열에 할당하려고합니다. 어쩌면 생각이 들지만 새 벡터를 정의하는 데 문제가 있습니다. 내 마음 속에 무엇이 있는지 아래에서 찾으십시오.배열에서 배열 만들기

Program test 

Implicit None 

Integer    :: i,j,k,m,n 

Real,Dimension(1:20) ::A 

Real,Dimension(1:15) ::B 

Do j=1,20 

A(j)=j+3 

End do 

Do i=1,5 

    Do m=1,3 
    ! here, i want to define new array with 15 elements 
    (A(i)+m*0.5*(A(i+1)-A(i))) 

    End do 

End Do 

End Program test 
+2

결과로 원하는 것은 나에게 분명하지 않습니다. 당신은 결과 배열이 어떻게 생겼는지를 지정할 수 있습니까? 또한, 정말로 * array'A'의 크기를 조정하거나 새로운 배열'B'를 정의하고 싶습니까? –

+0

답장을 보내 주셔서 감사합니다. 정확하게하고 싶은 것은 A (i) + m * 0.5 * (A (i + 1) -A (i))에 B라고 가정 해 봅시다. 내 말은, 나중에이 값을 배열로 써야합니다. – user3672375

답변

0

주석의 정보를 고려한 코드의 가장 간단한 확장은 다음과 같지만 의도는 분명하지 않습니다. 당신이 정말로이 순서를 구성하는 경우에도 5*(m-1)+i이 될 수

B(1) <- A(1)+1*0.5*(A(2)-A(1)) 
    B(2) <- A(1)+2*0.5*(A(2)-A(1)) 
    ... 
    B(4) <- A(2)+1*0.5*(A(3)-A(2)) 

확인 : 그것은이 코드는 이러한 과제를 만들 것입니다 A의 첫 6 개 요소,하지 5.

Do i=1,5 

    Do m=1,3 

    B(3*(i-1)+m) = A(i)+m*0.5*(A(i+1)-A(i)) 

    End do 

End Do 

를 사용합니다.

+0

예를 들어, 화면에 B를 쓰고 벡터가 0 일 때 – user3672375

+0

그것은 당신을 많이 도울 것입니다. –

+0

고마워, 나는 실수를했다. 이제 완벽하게 작동합니다. 도와 줘서 고마워, 고마워. 좋은 밤을. – user3672375

관련 문제