전체 글 254

버블 정렬 (Bubble Sort) 알고리즘

1. 유튜브 동영상 강의 1.1 버블 정렬 알고리즘 1.2 버블 정렬 알고리즘 소스 코드 구현 2. 알고리즘 이번에는 반복적인 방법으로 해결하는 버블 정렬 알고리즘을 살펴봅시다. 정렬 알고리즘은 배열의 자료를 원하는 순으로 배치하는 것을 말합니다. 이를 위해 입력 인자로 정렬할 자료들이 있는 배열의 시작 주소와 원소 개수, 비교 알고리즘을 전달합니다. 그리고 수행 후에는 배열 내의 자료들이 원하는 순서로 보관한 상태여야 합니다. 이 중에 버블 정렬은 앞에서부터 이웃하는 원소의 값을 비교하여 위치를 교환하는 것을 반복합니다. 이를 끝까지 수행하면 제일 큰 값이 맨 뒤에 위치합니다. 그리고 정렬할 개수를 1 줄인 후에 다시 반복합니다. 정렬할 원소의 개수가 1이면 모든 작업을 완료합니다. 2.1 알고리즘 p..

순차 정렬(Sequential Sort) 알고리즘

1. 유트브 동영상 강의 1.1 순차정렬 알고리즘 1.2 순차정렬 알고리즘 실습. 소스 코드 구현 2. 알고리즘 이번에는 반복적인 방법으로 해결하는 순차 정렬(Sequential Sort) 알고리즘을 살펴볼게요. 정렬 알고리즘은 배열의 자료를 원하는 순으로 배치하는 알고리즘을 말해요. 정렬 알고리즘은 입력 인자로 정렬할 자료들이 있는 배열의 시작 주소와 원소 개수, 비교 알고리즘이 필요합니다. 그리고 수행 후에는 배열 내의 자료들은 원하는 순서로 배치한 상태여야 합니다. 순차 정렬은 맨 앞에서부터 제일 작은 원소를 배치하게 만들어 나가는 알고리즘이예요. 이를 위해 배치할 자리에 있는 원소를 뒤쪽에 있는 원소들과 비교하면서 작은 것을 발견하면 배치할 위치의 원소와 교환해요. 순차 정렬(base:배열의 시작..

디지털 시계

유트브 동영상 강의 소개 이번에는 디지털 시계 소스 코드입니다. 먼저 0부터 9까지 출력할 정보를 3차원 배열로 정의한 후에 시, 분, 초를 출력하는 함수를 정의합니다. 그리고 콘솔 커서의 위치를 이동하는 gotoxy 함수를 정의합니다. 그리고 time 함수를 이용하여 1초가 지났는지 주기적으로 확인하여 1초가 지나면 현재 시각을 구한 후에 출력합니다. 소스 코드 #include #include #include #include #pragma warning(disable:4996) char*digits[10][5][4] =//0~9까지 출력할 정보 { { { "■","■","■","■" }, { "■"," "," ","■" }, { "■"," "," ","■" }, { "■"," "," ","■" }, {..

1/100 초 단위의 시계

유튜브 동영상 강의 소개 안녕하세요. 언제나 휴일입니다. 이번에는 1/100초 단위로 현재 시각을 콘솔 화면에 출력하는 시계 소스 코드입니다. 이를 통해 time.h 에 정의하고 있는 다양한 일시와 시간에 관한 형식과 함수 사용 방법을 알 수 있습니다. 소스 코드 /* https://ehpub.co.kr 언제나 C언어 예제 Center 1/100초 단위의 시계 구현 */ #include #include #include #include void print_time(struct tm* now, int tail) { COORD CursorPostion = { 0,1 }; SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), CursorPostion); prin..

년도 입력하면 달력 출력하기

유튜브 동영상 강의 윤년 계산하기 4로 나누어 떨어지는 해는 대부분 윤년입니다. 이 중에 100으로 나누어 떨어지는 해는 대부분 평년입니다. 이 중에 400으로 나누어 떠러지면 윤년입니다. 윤년(년도) ….(년도는 4의 배수 and 년도는 100의 배수가 아님) or 년도는 400의 배수 1월 1일의 첫 번째 요일 찾기 평년은 365일로 요일이 하나 증가합니다. 윤년은 366일로 요일이 하나 더 증가합니다. 따라서 특정 년도는 “년도 + 윤년 개수”만큼 증가합니다. 달 출력하기 월 출력(m,시작 요일) ….월 출력 ….반복(w:1->시작 요일) ……..공백 출력 ….반복(d:1->월별 날짜[월]) ……..시작 요일 1 증가 ……..조건(시작 요일 is equal 7) …………시작 요일:= 0 …………개행..