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

C 언어로 사인파 패턴의 거울상(Mirror Image) 출력하기

프로그램 개요

사인파(sine wave), 즉 정현파(sinusoid)는 매끄러운 주기적 진동을 나타내는 수학적 곡선입니다. 사인파는 연속적인 파형으로, 그래프가 사인(sine) 함수이기 때문에 이런 이름이 붙었습니다. 사인파는 순수 수학과 응용 수학은 물론 물리학, 공학, 신호 처리 등 수많은 분야에서 폭넓게 활용됩니다.

이 글에서는 사용자로부터 파고(wave height)파장(wave length)을 입력받아, 콘솔 화면에 사인파 패턴의 거울상(mirror image)을 출력하는 C 프로그램을 살펴봅니다.

알고리즘

프로그램의 동작 흐름은 다음과 같습니다.

  1. 사용자에게 파도의 높이(wave height)를 입력받습니다.
  2. 사용자에게 파도의 길이(wave length)를 입력받습니다.
  3. 중첩 반복문을 사용하여 파고와 파장에 해당하는 만큼 파도 모양 기호(^)를 출력합니다.

예제 코드

/* 사인파의 거울상을 출력하는 프로그램 */
#include<stdio.h>
int main(){
    int wave_height;
    int wave_length;
    int i,j,k;
    clrscr(); /*화면 지우기*/
    printf("Please enter the wave height of Sign Wave: ");
    scanf("%d", &wave_height);
    printf("\n");
    printf("Please enter the wave length of Sign Wave: ");
    scanf("%d", &wave_length);
    printf("\n");
    for(i = 1; i <= wave_height; i++) {
        for(j = 1; j <= wave_length; j++){
            for(k = 1; k <= wave_height; k++) {
                if(i == k || i + k == wave_height + 1) {
                    printf("^^");
                }
                else {
                    printf(" "" ");
                }
            }
        }
        printf("\n");
    }
    getch();
    return 0;
}

코드 설명

핵심 로직은 세 겹의 중첩 반복문에 있습니다.

  • 바깥쪽 반복문(i): 파도의 높이만큼 행(row)을 생성합니다.
  • 가운데 반복문(j): 파도의 길이만큼 같은 패턴을 가로로 반복합니다.
  • 안쪽 반복문(k): 각 열(column)에서 조건식 i == k || i + k == wave_height + 1을 검사하여, 대각선 위치에 해당하는 좌표에만 ^^ 기호를 출력하고 나머지는 공백으로 채웁니다.

이 조건식 덕분에 두 개의 대각선 교차 형태, 즉 사인파가 뒤집힌 거울상 모양이 화면에 나타나게 됩니다.

실행 결과

파고와 파장 값을 입력하면 아래와 같이 사인파 패턴의 거울상이 콘솔에 출력됩니다.

C 언어로 사인파 패턴의 거울상(Mirror Image) 출력하기


C 언어로 사인파 패턴의 거울상(Mirror Image) 출력하기