C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[68717] Re:홀수마방진 좀 도와주세요~
Lyn [tohnokanna] 1355 읽음    2012-11-30 07:57
숙제는 DIY DIY DIY

임기열 님이 쓰신 글 :
: 지금 코드는 가운데 맨 윗줄에 1이 나오고 그 왼쪾 맨 아래에 2가 나오고 대각선으로 쭉 이어지는데

: 위에 사진 처럼 좀 바꿔주세요 ~ 가운데 세로 제일 오른쪽에 1이 나오고 그 아래 제일 왼쪽에 2가 나오고 대각선으로 이어지는 식으로요~ 감사합니다~
: 그리고 지금 코드는 세로 줄을 더한값이 다 똑같은데 가로줄이 다 똑같게 바꿔주세요~
:  사진 첨부했습니다



:  #include <iostream>
:  
:  using namespace std;
:  
:  int arr[30][30];
:  void Init (int);
:  void magic_Square(int);

: int main()
:  {
:           int r;
:           while(1)
:           {
:                  cout << "홀수인 값만 입력 하세요.? ";
:                  cin >> r;
:      while (r%2 == 0 || r<=0)
:      {cout << "홀수인 값만 입력 하세요.? ";
:      cin >> r;}
:                  magic_Square(r);
:            }
:            return 0;
:  }

: void Init(int cnt)
:  {
:         for(int i=0;i<cnt;i++) {
:                for(int j=0;j<cnt;j++)
:                       arr[i][j] = 0;
:         }
:  }
:  
:  void magic_Square(int cnt)
:  
:  {
:          Init(cnt);
:          int pi = 0 , pj = cnt/2;
:          int ti , tj;
:  
:          arr[pi][pj] = 1;
:  
:          for(int k=2;k<=cnt*cnt;k++)
:          {
:  
:                 if(pi==0) ti=cnt-1;
:                 else ti = pi-1;
:                 if(pj==0) tj=cnt-1;
:                 else tj = pj-1;
:  
:                 if(arr[ti][tj]==0)
:                 {
:                         pi = ti , pj = tj;
:                         arr[pi][pj] = k;
:                 }
:                 else
:                 {
:                         pi = pi + 1;
:                         arr[pi][pj] = k;
:                 }
:          }
:  
:          for(int i=0;i<cnt;i++)
:          {
:                 for(int j=0;j<cnt;j++)
:                 {
:                         cout << arr[i][j] << "\t";
:                 }
:                 cout << endl;
:           }
:           cout << endl;
:  }

+ -

관련 글 리스트
68716 홀수마방진 좀 도와주세요~ 임기열 1503 2012/11/30
68717     Re:홀수마방진 좀 도와주세요~ Lyn 1355 2012/11/30
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.