메뉴 건너뛰기

SAP 한국 커뮤니티



10이하의 홀수 마방진

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

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

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 스크린에서 버튼을 tree 처럼 만들기. [32] file Jenny 2011.08.11 17656
106 SELECT-OPTIONS 문법 [5] sapjoy 2006.12.28 4968
105 Report SELECTION-SCREEN에서 Tab Strips 사용 하는 Sample Program [7] file 소주와 막걸리 2009.04.01 8235
104 ALV EDIT 샘플 프로그램 sapjoy 2015.06.26 9248
103 Tree ALV 샘플 [5] 양키(이경환) 2014.02.05 10520
102 Split 의 사용 [1] 양키(이경환) 2014.02.05 10691
101 소수점 뒷자리 0 제거 로직 file 양키(이경환) 2014.01.19 9432
100 Search For Program/Function/Table Desc&Name [8] file 초짜 2011.09.30 9830
99 Select-Options 의 Extension 에 제한을 주는 방법 [5] icarus 2007.11.15 10826
98 ALV Row Color 지정하는 소스. [3] 나침반친구 2007.05.28 12862
97 smartform to pdf AND MAIL [6] sapjoy 2007.05.22 8280
96 모든 사용자의 화면에 메세지를 보내는 소스 [4] file 아밥공주 2007.04.02 5004
95 KR_POSTCODE : 한국주소입력 Version 2.0 대략나 2021.03.31 986
94 HTTP 통신하는 로직 [3] 대략나 2016.12.20 5644
93 XML 을 아밥 스트럭쳐 또는 인터널테이블로 변경시키는 로직 [1] 대략나 2016.12.20 3793
92 파일 메일(e-mail) 첨부로 보내기 [2] sapjoy 2014.10.10 7183
91 데이터 이메일(e-mail) xls 파일로 보내기 [2] sapjoy 2014.10.10 6675
» 10이하의 홀수 마방진 은미짱 2013.10.18 6789
89 [Module pool] Container에 webpage 넣기. [2] 냥냥 2013.03.19 11197
88 COMAPY CODE에 할당된 Fiscal variant에 대한 calendar date 변환 paran 2013.02.28 10464