바보 같은 질문 일 수도 있지만 변수의 개별 값에 대해 루프를 실행하는 방법이 있습니까? 어떤 최신 버전은 어떨까요?불연속 값에 대한 포트란 루프
유닉스 쉘 스크립트에서 사용
for i in 1 5 9 11 31 77
같은 뭔가?
감사합니다.
바보 같은 질문 일 수도 있지만 변수의 개별 값에 대해 루프를 실행하는 방법이 있습니까? 어떤 최신 버전은 어떨까요?불연속 값에 대한 포트란 루프
유닉스 쉘 스크립트에서 사용
for i in 1 5 9 11 31 77
같은 뭔가?
감사합니다.
integer, dimension (5) :: indx = [5, 9, 11, 31, 71]
do i=1, size(indx)
j=indx(i)
....
end do
이 도움이 있는지 확실하지 않습니다,하지만 당신은 굴절률들
program Console1
implicit none
! Variables
INTEGER :: X(4) = (/ 1, 3, 5, 7 /)
REAL :: Y(10) = 0.0
! Body of Console1
print *, X
! 1 3 5 7
Y(X) = 10.0/X
print *, Y
! 10.0 0.0 3.33 0.0 2.00 0.0 1.428 0.0 ...
end program Console1
또한 묵시적는 이러한 목표를 달성하기 위해 루프를 할 수 있습니다,하지만 당신은 배열을 정의해야합니다 위해 배열을 사용할 수 있습니다 위의 값 중 :
integer, dimension (5) :: indx = [5, 9, 11, 31, 71]
integer, dimension (5) :: rslt
integer, external :: func
rslt = (/ func(indx(j)), j=1,5 /)
누군가 [태그 : fotran]에 [tag : pascal] 프로그램을 작성하려고합니다. – ja72
나는 'DO I = (/ 1,3,5,7 /)'라고 말할 수 있어야한다고 동의하지만 그렇게 할 수는 없다. 어쩌면 [암시 적 do] (http://stackoverflow.com/questions/4070528/implicit-do-loop-array-initialization)에서 처리 할 수 있습니다. 나는 조사 할 것이다. – ja72
@ ja72 : 누군가가 포트란에서 파스칼 프로그램을 작성하려고한다는 주장이 이상하다. 파스칼은 포트란이하는 것보다 임의의 수의리스트를 '루핑'하지 않는다. 또한 OP는 유닉스 쉘 스크립팅에서 영감을 얻은 것으로 나타났습니다. –