>  기사  >  백엔드 개발  >  숫자의 나선형 패턴을 인쇄하는 C++ 프로그램

숫자의 나선형 패턴을 인쇄하는 C++ 프로그램

WBOY
WBOY앞으로
2023-09-05 18:25:061578검색

숫자의 나선형 패턴을 인쇄하는 C++ 프로그램

숫자를 다양한 형식으로 표시하는 것은 학습을 위한 기본적인 코딩 문제 중 하나입니다.

조건문 및 루프문과 같은 다양한 코딩 개념. 가지다 다른 프로그램에서는 별표와 같은 특수 문자를 사용하여 삼각형을 인쇄하거나 정사각형. 이 기사에서는 C++의 사각형처럼 나선형 형태로 숫자를 인쇄합니다.

행 수 n을 입력으로 사용하고 왼쪽 상단부터 시작합니다. 오른쪽으로 이동한 다음 아래로 이동한 다음 왼쪽으로 이동한 다음 위로 이동한 다음 다시 오른쪽으로 이동합니다. 등.

나선형 패턴과 숫자

으아아아

이 문제를 해결하기 위해 n x n 크기의 2D 행렬을 사용합니다. 이 경우 n = 7을 사용합니다. 그런 다음 왼쪽 위 모서리부터 나선형으로 행렬을 채웁니다. 최종 인쇄물 전체 매트릭스. 여기서는 첫 번째 줄에 1부터 7까지 인쇄하고 있으며 그 다음에는 프로세스가 변경됩니다. 방향으로 아래쪽으로 이동하여 13번, 왼쪽으로 이동하여 19번, 마지막으로 24까지 올라간 다음 오른쪽으로 계속 이동합니다. 더 나은 알고리즘을 살펴보겠습니다. 이해하다.

알고리즘

  • 행 수로 s를 입력하세요
  • s x s 행렬을 만들고 0으로 초기화하세요
  • 번호: = 1
  • i, j, m을 0으로 초기화
  • n := s - 1, p := 0 및 q := s - 1 초기화
  • num이 s * s를 초과하지 않으면 실행
    • p에서 q까지의 j에 대해 다음을 수행하세요.
      • mat[ m, j ] := 숫자
      • 숫자 := 숫자 + 1
  • 미터:=미터+1
  • m에서 n까지의 i에 대해 실행
    • mat[ i, q ] := num
    • 숫자 := 숫자 + 1
  • q := q - 1
  • q에서 p까지의 j 범위에 대해 매번 1을 빼고 실행합니다.
    • mat[n,j] := num
    • 숫자 := 숫자 + 1
  • n := n - 1
  • i가 n에서 m까지인 경우 i를 1만큼 감소시키고 실행합니다.
    • mat[ i, p ] := num
    • 숫자 := 숫자 + 1
  • p := p + 1
  • i가 0에서 s-1까지인 경우 다음을 수행합니다.
    • 0에서 s - 1 사이의 j에 대해 다음을 수행하세요.
      • 쇼매트[ i, j ]
    • 커서를 다음 줄로 이동
  • Example

    의 중국어 번역은 다음과 같습니다:

    Example

    으아아아

    출력

    으아아아

    출력 결과(n = 12인 경우)

    으아아아

    결론

    숫자 패턴을 표시하는 것은 프로그래밍을 배울 때 상당히 흔한 문제입니다. 언어. 이 기사에서는 요소가 위치한 사각형에 숫자를 표시하는 방법을 배웠습니다. C++에서 왼쪽 상단부터 시작하여 아래쪽으로 나선형 형태로 인쇄합니다. 열 n의 끝에서 아래로 이동한 다음 행 n의 끝에서 왼쪽으로 이동한 다음 첫 번째 행에 도달한 후 두 번째 행nd까지 위로 이동하고 이 과정을 계속해서 반복합니다. 전체 사각형을 완성하세요. 다른 숫자 패턴 문제와 달리 2차원 배열이 필요합니다. 이 문제를 효과적으로 해결하십시오.

    위 내용은 숫자의 나선형 패턴을 인쇄하는 C++ 프로그램의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    성명:
    이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제