데이터 구조의 행렬 과 같은 인 스 턴 스

다음은'행렬 행렬 과 같다'는 간단 한 예 를 보 여 준다.
1.c 언어 로 구현 되 는 버 전

#include <stdio.h> 
#include <math.h> 
 
void main() 
{ 
  int a[16][16],i,j,n,k; 
  printf("Please input n(1~15,it must be odd.): "); 
  scanf("%d",&n); 
  while(!(n>=1&&n<=15) || n%2==0) 
  { 
    printf("The number is invalid.Please insert again:"); 
    scanf("%d",&n); 
  } 
  //      
  for(i=0; i<=n; ++i)  
  { 
    for(j=0; j<=n; ++j)  
    { 
      a[i][j]=0; 
    } 
  } 
 
  j = n/2 + 1; 
  a[1][j] = 1; 
  i = 1; 
  for(k=2; k<=n*n; ++k) 
  { 
    i = i - 1;  
    j = j + 1; 
    if(i==0 && j==n+1) //      
    { 
      i = i+2; 
      j = j-1; 
    } 
    else  
    { 
      if(i==0) //    
      { 
        i = n; 
      } 
      if(j==n+1) //    
      { 
        j = 1; 
      } 
    } 
 
    if(a[i][j]==0) //         
    { 
      a[i][j] = k; 
    } 
    else //       
    { 
      i = i + 2; 
      j = j - 1; 
      a[i][j] = k; 
    } 
  } 
 
  for(i=1; i<=n; ++i) 
  { 
    for(j=1; j<=n; ++j) 
    { 
      printf("%3d", a[i][j]); 
    } 
    printf("
"); } }
2.C++언어 로 구현 되 는 버 전

#include <iostream> 
#include <math.h> 
 
void main() 
{ 
  int a[16][16],i,j,n,k; 
  std::cout<<"Please input n(1~15,it must be odd.): "; 
  std::cin>>n; 
  while(!(n>=1&&n<=15) || n%2==0) 
  { 
    std::cout<<"The number is invalid.Please insert again:"; 
    std::cin>>n; 
  } 
        
  for(i=0; i<=n; ++i)  
  { 
    for(j=0; j<=n; ++j)  
    { 
      a[i][j]=0; 
    } 
  } 
 
  i = 0; 
  j = n/2; 
  a[i][j] = 1; 
  for(k=2; k<=n*n; ++k) 
  { 
    i = i - 1;  
    j = j + 1; 
    if(i<=-1 && j>=n) //      
    { 
      i = 1; 
      j = n - 1; 
    } 
    else  
    { 
      if( i<=-1 ) //    
      { 
        i = n - 1; 
      } 
      if(j>=n) //    
      { 
        j = 0; 
      } 
    } 
 
    if(a[i][j]==0) //         
    { 
      a[i][j] = k; 
    } 
    else //       
    { 
      i = i + 2; 
      j = j - 1; 
      a[i][j] = k; 
    } 
  } 
 
  for(i=0; i<=n-1; ++i) 
  { 
    for(j=0; j<=n-1; ++j) 
    { 
      printf("%3d", a[i][j]); 
    } 
    printf("
"); } }
실행 결 과 는 다음 그림 과 같 습 니 다.

궁금 한 점 이 있 으 시 면 메 시 지 를 남기 거나 본 사이트 의 커 뮤 니 티 에 가서 토론 을 교류 하 세 요.읽 어 주 셔 서 감사합니다. 도움 이 되 셨 으 면 좋 겠 습 니 다.본 사이트 에 대한 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기