PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2009/11/18 23:03:37
Name I.O.S_Lucy
Subject 포트란 짜다가 완벽하게 막혔습니다.
카이사르식 암호문을 포트란으로 짜려고 하는데요,
Shift할 간격을 J로 입력을 받고,
원문은 PLAINTXT에, 암호문은 CIPHER에 저장하는 게 목적입니다.
그런데...

일단 제가 짠 소스는 이렇게 됩니다.

      DIMENSION J1(100), K(100)
      CHARACTER*100 PLAINTXT, CIPHER
      CHARACTER TEMP
      READ (5, 10) PLAINTXT
10    FORMAT(5A)
      READ *, J
      DO 30 I = 1, 100
        TEMP = PLAINTXT(I)
        J1(I) = ICHAR(TEMP)
        IF (J1(I) > 100 - J) THEN
          K(I) = J1(I) - 26 + J
        ELSE
          K(I) = J1(I) + J
        ENDIF
        L = K(I)
        TEMP = CHAR(L)
        CIPHER(I) = TEMP
30    CONTINUE
      WRITE(6, 20) CIPHER
20    FORMAT(6A)

      STOP
      END


그런데 이런 오류 두 개가 떠서 미치겠네요.

           TEMP = PLAINTXT(I)
                  1         2
Missing colon as of (2) in substring reference for (1)

CIPHER(I) = TEMP
           1       2
Missing colon as of (2) in substring reference for (1)

무슨 뜻인지 모르겠고, 어떻게 해결해야 하는지 고수님들의 조언 부탁드립니다.

통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
MoreThanAir
09/11/19 00:57
수정 아이콘
일단 PLAINTXT와 CIPHER가 문자열로 선언되었는데 포트란에서는 씨처럼 인덱스로 접근이 안되는 모양이군요.
그래서 문자열이 아닌, 문자형의 배열로 한 번 선언을 해봤습니다.
이 코드로 일단 돌아가기는 하는데 문자배열과 문자열을 변환하는 것은 더 연구해보셔야겠네요-

program FortranTest

DIMENSION J1(100), K(100)
CHARACTER,DIMENSION(100)::PLAINTXT='test string', CIPHER
CHARACTER TEMP
! READ (5,10) PLAINTXT
10 FORMAT(5A)
READ *, J
DO 30 I = 1, 100
TEMP = PLAINTXT(I)
J1(I) = ICHAR(TEMP)
IF (J1(I) > 100 - J) THEN
K(I) = J1(I) - 26 + J
ELSE
K(I) = J1(I) + J
ENDIF
L = K(I)
TEMP = CHAR(L)
CIPHER(I) = TEMP
30 CONTINUE
WRITE(6, 20) CIPHER
20 FORMAT(6A)

STOP

end program FortranTest
지구사랑
09/11/19 11:53
수정 아이콘
와우, 아직도 포트란을 쓰는 데가 있었나요?
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
68100 단백질보충제 보관법이 어떻게 되나요? [3] Dr.No10906 09/11/18 10906
68099 남녀탐구생활 질문입니다~ 버스편~ [3] ??2672 09/11/18 2672
68098 노트북을 하나 구매하려고 합니다. [1] 콜라박지호1843 09/11/18 1843
68097 포트란 짜다가 완벽하게 막혔습니다. [2] I.O.S_Lucy2028 09/11/18 2028
68096 뜬금없는 화학 질문입니다만... [2] LastStage2125 09/11/18 2125
68095 070이랑080둘다 수신자 부담인가요? [3] 릴리러쉬3079 09/11/18 3079
68094 피부관리에 신경쓰시는 남성분 계신가요~ [12] 라울2237 09/11/18 2237
68093 컴퓨터와 TV를 연결하는 DVI to HDMI 에 대해서 질문드립니다. [4] 마루가람2981 09/11/18 2981
68092 win32:trojan-gen 이 바이러스 때문에 죽겠습니다 ㅠㅠ [2] 뒤질랜드3866 09/11/18 3866
68090 배심원 제도에 관한 질문 드립니다. [1] GoThree1674 09/11/18 1674
68089 한심한 질문이긴 한데.. 공무원 시험준비에 관해. [7] 야탑이매서현2106 09/11/18 2106
68088 김택용 마재윤 3.3대첩이요 [4] 알콜스타2386 09/11/18 2386
68087 sk 폰요금 결제일 질문. [4] withme_3563 09/11/18 3563
68086 비스타에서 게임 종료후 검은 화면만 나올때 방법좀 ;; 김우진2201 09/11/18 2201
68085 간단한 영어 한문장 해석부탁!!드립니다 [4] 카푸치노1651 09/11/18 1651
68084 간단한 계산(?) 질문 [2] 빛고을1528 09/11/18 1528
68083 연애하면 날짜 카운트 언제부터하나요? [10] 구하라5707 09/11/18 5707
68082 방금 미아리 관련 글은 왜 삭게로 갔나요? [8] 핸드레이크2660 09/11/18 2660
68081 히드라리스크의 공중공격 타입이 일반형으로 바뀐다면 어떨까요? [53] 아비터가야죠3853 09/11/18 3853
68080 연령별 인구분포를 찾아야하는데..좀 도와주세요~ [3] 토레스2290 09/11/18 2290
68079 소울 및 R&B음악에 대해 잘아시나요?? [10] 5드론저그2517 09/11/18 2517
68078 해외축구(epl)관련 커뮤니티 좀 추천해주세요. [1] 오소리감투1572 09/11/18 1572
68077 생동성실험 알바에 대한 질문좀 .. [5] 권유리2192 09/11/18 2192
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로