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

C++로 사각형 패턴 출력하기: 단계별 구현 가이드

이 튜토리얼에서는 C++를 사용하여 주어진 크기의 사각형 패턴을 콘솔에 출력하는 프로그램을 다룹니다.

사각형의 높이(height)와 너비(width)가 입력으로 주어지면, '@' 문자를 활용해 해당 크기만큼의 테두리 형태 사각형을 화면에 그려내는 것이 목표입니다. 내부는 공백으로 채워 속이 빈 사각형 모양이 되도록 구현합니다.

구현 아이디어

핵심 로직은 이중 반복문을 사용하는 것입니다. 바깥쪽 반복문은 행(row)을 순회하고, 안쪽 반복문은 열(column)을 순회합니다.

이때 다음 조건 중 하나라도 만족하는 위치에는 '@' 문자를 출력합니다.

  • 첫 번째 행(i == 0) 또는 마지막 행(i == h-1)
  • 첫 번째 열(j == 0) 또는 마지막 열(j == w-1)

그 외의 내부 위치에는 공백을 출력하여 빈 사각형 테두리를 완성합니다.

예제 코드

#include<iostream>
using namespace std;

void print_rec(int h, int w){
    for (int i = 0; i < h; i++){
        cout << "\n";
        for (int j = 0; j < w; j++){
            if (i == 0 || i == h-1 ||
                j == 0 || j == w-1)
                cout << "@";
            else
                cout << " ";
        }
    }
}

int main(){
    int h = 5, w = 4;
    print_rec(h, w);
    return 0;
}

실행 결과

높이 5, 너비 4로 함수를 호출하면 다음과 같은 결과가 출력됩니다.

@@@@
@  @
@  @
@  @
@@@@

코드 설명

print_rec 함수는 높이(h)와 너비(w)를 매개변수로 받습니다. 각 행을 시작하기 전에 줄바꿈 문자(\n)를 먼저 출력한 뒤, 해당 행의 각 열을 검사하며 테두리 여부를 판단합니다.

main 함수에서는 높이 5, 너비 4를 예시 값으로 설정하여 print_rec 함수를 호출합니다. 필요에 따라 h와 w 값을 변경하면 원하는 크기의 사각형을 자유롭게 출력할 수 있습니다.

이 방식은 시간 복잡도 O(h × w)로 직사각형 전체 영역을 한 번씩만 순회하므로 매우 효율적이며, '*'나 '#' 등 다른 문자로도 손쉽게 응용할 수 있습니다.