2012-05-15 1 views
1

나는 내가하고 싶은 작은 숙제로 2 시간 동안 고생했다. 나는 문구를 바꾸어하는 프로그램을 만들어야합니다.캐릭터 체인을 뒤집는 방법은 무엇입니까? fortran 90

예를 들어

:

program reversing  
implicit none  
character(len=20),dimension(1:20)::phraseT  
character(len=20)::phrase,reverse  
integer::i,x 


write(*,*)"write a phrase :"  
read(*,'(a)')phrase  
x=len(trim(phrase))  
nomT(1:20)=" " 

do i=1,x  
nomT(i:i)=trim(phrase(i:i))  
end do 

write(*,*)nomT  
end program reversing 

답변

1

: 나는 hello guys을 쓸 때, 나는이 나는 순간이 무엇하지만 난 보드 phraseT의 문자를 반전하는 방법을 모른다 syug olleh

을 원하는 하나의 간단한 방법 ...

character(80) :: string = "Whatttt's up doc?" 
character  :: temp 
integer  :: i, length 

write (*,*) string ! Writes it out proper. 
    length = len_trim(string) ! ignores trailing blanks. 
          ! use len(string) to reverse those as well 
    do i = 1, length/2 
    temp = string(i:i) 
    string(i:i) = string(length+1-i:length+1-i) 
    string(length+1-i:length+1-i) = temp 
    end do 
write(*,*) string  ! Writes it out backwards. 
end 

다른 사람들은 확실히 더 지능적인 것들을 (그리고 더 짧게) 생각해 낼 것입니다.

forall (i=1:len(string)) string(i:i) = string(len(string)-i+1:len(string)-i+1) 

그것은 심지어 바이트의 소수를 저장합니다

+0

Thx 그것은 이미 많이 도움이됩니다. – Sensolibertaire

1

여기에 그것을 할 수있는 짧은 방법! 나는 이것이 더 지능적이라고 제안 할 것이라고 확신하지 못한다.