메뉴 건너뛰기

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