반응형

C_C++ 359

(C언어) 배열에서 3번째 큰 값 구하기 (정렬을 사용하지 않고)

배열에서 정렬을 사용하지 않고 3번째로 큰 값을 구하는 C언어 코드입니다. #include int findThirdLargest(int arr[], int size) { int first = arr[0]; // 가장 큰 값 int second = arr[0]; // 두 번째로 큰 값 int third = arr[0]; // 세 번째로 큰 값 for (int i = 1; i first) { third = second; second = first; first = arr[i]; } else if (arr[i] > second) { third = second; second = arr[i]; } else if (arr[i] > third) { third = arr..

C_C++ 2023.05.26

(C언어) 스택에 삽입 삭제하는 프로그램 소스

다음 코드는 스택에 삽입과 삭제를 하는 C언어 소스 코드입니다. 테스트를 위해서 스택의 크기는 #define으로 3으로 설정했습니다. #include #define MAX_SIZE 3 // Stack structure typedef struct { int data[MAX_SIZE]; int top; } Stack; // Initialize stack void init(Stack* stack) { stack->top = -1; } // Check if the stack is empty int isEmpty(Stack* stack) { return stack->top == -1; } // Check if the stack is full int isFull(Stack* stack) { return stack-..

C_C++ 2023.05.17

(C언어) 이진 파일(binary file) 복사하기

2진 파일을 복사하는 C언어 코드입니다. 원본 파일을 읽어서 버퍼에 저장하고, 버퍼에 저장된 내용을 파일에 저장합니다. fopen 함수는 파일을 열었을 때, 오류가 발생하면 NULL을 반환합니다. #include #define BUFFER_SIZE 1024 int main() { FILE *sourceFile, *targetFile; char buffer[BUFFER_SIZE]; size_t bytesRead; // 소스 파일 열기 sourceFile = fopen("abc.exe", "rb"); if (sourceFile == NULL) { printf("abc.exe 파일을 열 수 없습니다.\n"); return 1; } // 저장할 파일 열기 targetFile = fopen("bcd.exe", "..

C_C++ 2023.05.17

(C언어) 함수 포인터 예제

다음은 함수 포인터를 사용하는 간단한 C언어 예제입니다. #include // 두 정수를 더하는 함수 int add(int a, int b) { return a + b; } // 두 정수를 빼는 함수 int subtract(int a, int b) { return a - b; } int main() { int (*operation)(int, int); // 함수 포인터 선언 // 덧셈 함수를 가리키는 함수 포인터 변수 설정 operation = &add; printf("2 + 3 = %d\n", operation(2, 3)); // 뺄셈 함수를 가리키는 함수 포인터 변수 설정 operation = &subtract; printf("5 - 1 = %d\n", operation(5, 1)); return 0..

C_C++ 2023.05.14

(C언어) BMI 체질량지수 계산하기

BMI 체질량지수. Body Mass Index. 體質量指數. 키와 몸무게를 이용해서 계산한 대략적인 체질량 지수이다. 다음은 체질량지수를 계산하는 C언어 코드입니다. #define _CRT_SECURE_NO_WARNINGS #include int main() { double height, weight, bmi; printf("키를 입력하세요 (단위: cm): "); scanf("%lf", &height); printf("몸무게를 입력하세요 (단위: kg): "); scanf("%lf", &weight); height = height / 100; // cm를 m로 환산 bmi = weight / (height * height); printf("BMI 지수: %.2f\n", bmi); if (bmi < 1..

C_C++ 2023.05.03

산술평균 기하평균 조화평균을 구하는 C언어 코드

산술평균 Arithmetic mean 합을 개수로 나누어서 구할 수 있다. 기하 평균 Geometric mean 변량을 모두 곱해서 거듭제곱근을 취해서 얻는 평균이다. 조화 평균 Harmonic mean 변량들의 역수의 산술평균을 구한 후 그것을 역수로 취한 평균이다. 다음은 산술평균, 기하평균, 조화평균을 구하는 C언어 코드입니다. #include #include // 산술 평균 double arithmetic_mean(int arr[], int size) { int sum = 0; for (int i = 0; i < size; i++) { sum += arr[i]; } return (double)sum / size; } // 기하 평균 double geometric_mean(int arr[], int..

C_C++ 2023.05.02

(C언어) 친화수 판별하는 프로그램

두 수의 쌍이 있을 때, 각각의 수의 약수를 모두 더한 값이 서로 같으면 친화수입니다. 예를 들어, 220과 284는 친화수입니다. 220의 약수는 1, 2, 4, 5, 10, 11, 20, 22, 44, 55, 110이며, 이들을 모두 더한 값은 284입니다. 284의 약수는 1, 2, 4, 71, 142이며, 이들을 모두 더한 값은 220입니다. 친화수의 예 220과 284 1184와 1210 2620과 2924 5020과 5564 6232와 6368 아래는 두 수를 입력받아 친화수인지 판별하는 C언어 코드입니다. #define _CRT_SECURE_NO_WARNINGS #include // 두 수의 약수의 합을 구하는 함수 int get_divisor_sum(int num) { int sum = 0..

C_C++ 2023.05.01

(C언어) 삽입 정렬 insertion sort

C언어로 구현한 삽입 정렬의 예제입니다. 25, 24, 46, 61, 13, 3 - 이와 같은 데이터가 배열에 기억되어 있다면, 2 번째 데이터부터 앞 쪽으로 진행하면서 삽입될 위치를 찾아서 해당 위치에 삽입하는 방식으로 정렬합니다. #include // 삽입 정렬 void insertion_sort(int arr[], int size) { int i, j, temp; for (i = 1; i = 0 && arr[j] > temp) { arr[j + 1] = arr[j]; j--; } arr[j + 1] = temp; } } void print(int arr[], int size) { for (int i = 0; ..

C_C++ 2023.04.29
반응형