Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 1부터 n까지 숫자 패턴을 활용해 알파벳 'N' 모양 출력하기

이 튜토리얼에서는 1부터 n까지의 숫자 패턴을 활용하여 알파벳 'N' 모양을 출력하는 C++ 프로그램을 다룹니다.

목표는 영어 알파벳 'N'을 화면에 그려내는 것입니다. 먼저 글자의 크기(n)를 정한 뒤, 각 줄마다 왼쪽 열, 오른쪽 열, 그리고 대각선에 해당하는 자리에 1부터 차례대로 증가하는 숫자를 배치하여 'N' 형태를 완성하게 됩니다.

동작 원리

프로그램은 세 개의 카운터 변수를 사용합니다.

  • Left: 각 행의 가장 왼쪽에 출력되는 숫자
  • Right: 각 행의 가장 오른쪽에 출력되는 숫자
  • Diagonal: 'N'의 대각선 부분에 출력되는 숫자

첫 번째 행과 마지막 행에서는 대각선 자리를 공백으로 비워두고, 나머지 중간 행들에서만 대각선 숫자를 출력합니다. 또한 각 행마다 왼쪽과 오른쪽 사이의 공백 개수를 조절하여 대각선이 자연스럽게 기울어진 'N' 모양이 만들어지도록 합니다.

예제 코드

#include <iostream>
using namespace std;
//알파벳 N을 출력하는 함수
void print_N(int N){
    int index, side_index, size;
    int Right = 1, Left = 1, Diagonal = 2;
    for (index = 0; index < N; index++) {
        cout << Left++;
        for (side_index = 0; side_index < 2 * (index);
        side_index++)
        cout << " ";
        if (index != 0 && index != N - 1)
            cout << Diagonal++;
        else
            cout << " ";
        for (side_index = 0; side_index < 2 * (N - index - 1);
        side_index++)
        cout << " ";
        cout << Right++;
        cout << endl;
    }
}
int main(int argc, char** argv){
    int Size = 8;
    print_N(Size);
    return 0;
}

출력 결과

크기(Size)를 8로 설정하여 실행하면 다음과 같은 결과가 출력됩니다.

1         1
2 2       2
3  3      3
4   4     4
5    5    5
6     6   6
7      7  7
8       8

위 결과에서 볼 수 있듯이, 왼쪽 열에는 1부터 8까지 위에서 아래로 숫자가 채워지고, 오른쪽 열 역시 같은 방식으로 채워집니다. 대각선에는 2부터 시작하는 숫자가 배치되어 마치 알파벳 'N'의 사선처럼 보이게 됩니다. Size 값을 변경하면 더 크거나 작은 'N' 모양을 손쉽게 출력할 수 있습니다.