메뉴 건너뛰기

SAP 한국 커뮤니티



10이하의 홀수 마방진

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

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

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