메뉴 건너뛰기

SAP 한국 커뮤니티



10이하의 홀수 마방진

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

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

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 Dynamic Select 소스 [5] 떡밥 2011.06.03 17769
106 스크린에서 버튼을 tree 처럼 만들기. [32] file Jenny 2011.08.11 17656
105 Mass Download [5] file 소주와 막걸리 2009.11.13 17363
104 셀(cell) 레벨의 ALV EDIT(편집) 가능 소스 [5] sapjoy 2008.09.25 17241
103 통화단위, krw, usd 일반 필드에 변환시 로직(소수점, 자리수) [4] sapjoy 2011.07.19 15561
102 REPORT z_alv_list_block_2 [1] 노름마치 2007.11.05 15184
101 4.6c 에서 Xml 파일을 읽어오는 로직 예제 입니다. [2] woong 2009.05.11 14803
100 금액을 한글로(수표)표기 [17] file STARFISH 2009.03.17 14644
99 인터널 테이블을 사용한 구구단 출력 두가지 입니다 - WRITE, ALV 이용 [1] kofnhuge 2012.10.10 14009
98 Text(Description) 빠르게 반영하기,,, 속도개선을 위주로 [5] file 노름마치 2010.12.07 13907
97 [onepaper] 참고자료 Archiving 세팅에 필요한 파일소스입니다. [7] file 원니컴 2011.03.22 13798
96 Syntax Checker [4] file 소주와 막걸리 2009.11.13 13764
95 ALV Row Color 지정하는 소스. [3] 나침반친구 2007.05.28 12855
94 금액을 영문으로 [4] file 쥬앙 2009.04.06 12366
93 Transport Trace [4] file 소주와 막걸리 2009.11.13 12140
92 멀 어떻게 해야 하는건질 몰라 질문 드립니다 [5] 쏠라맨 2012.10.12 11662
91 [Module pool] Container에 webpage 넣기. [2] 냥냥 2013.03.19 11196
90 nugg 프로그램을 sap 에 생성하기.. [3] file MadMax 2012.10.11 10825
89 Select-Options 의 Extension 에 제한을 주는 방법 [5] icarus 2007.11.15 10824
88 Split 의 사용 [1] 양키(이경환) 2014.02.05 10665