메뉴 건너뛰기

SAP 한국 커뮤니티



10이하의 홀수 마방진

은미짱 2013.10.18 16:23 조회 수 : 6778

심심해서 한번 만들어봤습니다.

5를 입력하시면 5 * 5 마방진을 출력합니다.

 

사용자가 9를 입력하면 9개의 필드가 있는 itab을 만들수 있는 방법이 혹시 있나요?

 

PARAMETERS: SIZE TYPE N OBLIGATORY.
DATA: BEGIN OF ITAB OCCURS 0,
       F1 TYPE I,
       F2 TYPE I,
       F3 TYPE I,
       F4 TYPE I,
       F5 TYPE I,
       F6 TYPE I,
       F7 TYPE I,
       F8 TYPE I,
       F9 TYPE I,
       F10 TYPE I,
END OF ITAB.
DATA: I TYPE I, J TYPE I, MOD TYPE I, TOTAL TYPE I, COUNT TYPE I.
FIELD-SYMBOLS: <FS>.

* init
  DO SIZE TIMES.
    APPEND ITAB.
  ENDDO.

  I = SIZE / 2.
  J = 1.
  TOTAL = SIZE * SIZE.

* Fill
  DO TOTAL TIMES.
    ADD 1 TO COUNT.
    READ TABLE ITAB INDEX J.
    ASSIGN COMPONENT I OF STRUCTURE ITAB TO <FS>.
    <FS> = COUNT.
    MODIFY ITAB INDEX J.

    MOD = COUNT MOD SIZE.
    IF MOD = 0.
      J = J + 1.
    ELSE.
      I = I + 1.
      J = J - 1.
    ENDIF.
    IF I < 1.
      I = I + SIZE.
    ELSEIF I > SIZE.
      I = I - SIZE.
    ENDIF.
    IF J < 1.
      J = J + SIZE.
    ELSEIF J > SIZE.
      J = J - SIZE.
    ENDIF.
  ENDDO.

* Display
  LOOP AT ITAB.
    DO.
      ASSIGN COMPONENT SY-INDEX OF STRUCTURE ITAB TO <FS>.
      IF SY-SUBRC = 0 AND SY-INDEX <= SIZE.
        WRITE: <FS>.
      ELSE.
        WRITE:/.
        EXIT.
      ENDIF.
    ENDDO.
  ENDLOOP.

번호 제목 글쓴이 날짜 조회 수
107 KR_POSTCODE : 한국주소입력 Version 2.0 대략나 2021.03.31 944
106 HTTP 통신하는 로직 [3] 대략나 2016.12.20 5580
105 XML 을 아밥 스트럭쳐 또는 인터널테이블로 변경시키는 로직 [1] 대략나 2016.12.20 3760
104 ALV EDIT 샘플 프로그램 sapjoy 2015.06.26 9234
103 파일 메일(e-mail) 첨부로 보내기 [2] sapjoy 2014.10.10 7154
102 데이터 이메일(e-mail) xls 파일로 보내기 [2] sapjoy 2014.10.10 6659
101 Tree ALV 샘플 [5] 양키(이경환) 2014.02.05 10476
100 Split 의 사용 [1] 양키(이경환) 2014.02.05 10547
99 소수점 뒷자리 0 제거 로직 file 양키(이경환) 2014.01.19 9395
» 10이하의 홀수 마방진 은미짱 2013.10.18 6778
97 [Module pool] Container에 webpage 넣기. [2] 냥냥 2013.03.19 11186
96 COMAPY CODE에 할당된 Fiscal variant에 대한 calendar date 변환 paran 2013.02.28 10454
95 멀 어떻게 해야 하는건질 몰라 질문 드립니다 [5] 쏠라맨 2012.10.12 11653
94 nugg 프로그램을 sap 에 생성하기.. [3] file MadMax 2012.10.11 10807
93 인터널 테이블을 사용한 구구단 출력 두가지 입니다 - WRITE, ALV 이용 [1] kofnhuge 2012.10.10 13978
92 Search For Program/Function/Table Desc&Name [8] file 초짜 2011.09.30 9821
91 스크린에서 버튼을 tree 처럼 만들기. [32] file Jenny 2011.08.11 17646
90 통화단위, krw, usd 일반 필드에 변환시 로직(소수점, 자리수) [4] sapjoy 2011.07.19 15548
89 Dynamic Select 소스 [5] 떡밥 2011.06.03 17755
88 [onepaper] 참고자료 Archiving 세팅에 필요한 파일소스입니다. [7] file 원니컴 2011.03.22 13789