본문 바로가기

C C++ language

(24)
C언어 홀 수 짝수 판별 방법 읽어주셔서 감사합니다. 오늘은 C언어로 하나의 정수를 입력받은 후, 입력받은 수가 홀수인지 짝수인지 판별하는 프로그램을 구현해보도록 하겠습니다. 이번 코드에는 복잡한 내용이 딱히 없으므로, 주석은 간단하게만 적었습니다. 일반적인 moduler연산을 이용해서 만든 코드입니다. abs를 사용하면 음수일떄의 odd, even까지 정확히 판별할 수 있지만, 굳이 그렇게 하지는 않았습니다. (보통 홀수 짝수 판별은 음이 아닌 정수 범위에서 하니까) 소스가 필요하신 분들은 Ctrl + C Ctrl + V로 퍼가시면 됩니다 #define _CRT_SECURE_NO_WARNINGS #include int main(void) { int num; scanf("%d", &num); //num이 짝수일떄 if ((num % ..
C언어 세 숫자의 최댓값 최솟값 구하는 방법 읽어주셔서 감사합니다. 오늘은 C언어로 세 숫자를 입력받은 후, 그 숫자들 중 최댓값, 최솟값을 구하는 방법에 대해 알아보도록 하겠습니다. 이번 코드에는 복잡한 내용이 딱히 없으므로, 주석은 생략하도록 하겠습니다. for문 구조만 봐도 충분히 이해 가능한 코드라 생각합니다. 소스가 필요하신 분들은 Ctrl + C Ctrl + V로 퍼가시면 됩니다 #define _CRT_SECURE_NO_WARNINGS #include int max(int a, int b, int c) { if (a > b) { return (a > c) ? a : c; } else { return (b > c) ? b : c; } } int max2(int a, int b, int c) { return (a > b) ? ((a > c)..
C언어 배열까지의 형성 평가 문제 읽어주셔서 감사합니다. 오늘은 C언어 테스트를 하나 보여드리도록 하겠습니다. 오늘은 딱히 설명할 것이 없습니다. 차례대로 문제지 파일, 문제 작성 파일, 모범 답안입니다. 문제지 파일 문제지 파일입니다. 수준에 맞는 문제 10문, KOI기출 2문, 알고리즘 1문으로 구성되어있습니다. 처음 10문은 수준에 비해 조금 쉽다 생각할 수도 있어요. docx file pdf file 솔루션 파일 사실 꼭 필요한 파일은 아닙니다. 단순히 편의성을 위해서 visual studio 2019 solution을 13개 만들어놓았습니다. solution files 모범답안 이런 초보단계에서는 몇 가지의 다른 풀이들이 나오게 됩니다. 여러개를 적어볼까도 생각해보았는데, 오히려 혼란을 줄 수도 있을 것 같아서 대표적인 해결 방..
C언어 구구단 출력 방법 읽어주셔서 감사합니다. 오늘은 C언어로 구구단을 출력하는 방법에 대해 알아보도록 하겠습니다. 이번 코드에는 복잡한 내용이 딱히 없으므로, 주석은 생략하도록 하겠습니다. for문 구조만 봐도 충분히 이해 가능한 코드라 생각합니다. 소스가 필요하신 분들은 Ctrl + C Ctrl + V로 퍼가시면 됩니다 #include #include int main(void) { for (int i = 1; i
C언어 큰따음표(")출력하는 방법 (with source) 읽어주셔서 감사합니다. 오늘은 C언어에서 큰따음표를 비롯한 여러 문자들을 출력하는 방법을 알아보겠습니다. 코드 코드 예시를 보시면 바로 이해가 될 것입니다.참고로 아래 프로그램의 출력은 " ' % \입니다. (참고로 \과 /를 좌우반전한 문자(역슬래시)는 같은 문자입니다.) #include int main(void) { printf("\" \' %% \\"); return 0; } 사용방법 입력 : none 출력 : " ' % \ 출력 종료 : 출력후 종료 실행화면 이상입니다. 갑사합니다
C++ 습격자 초라기 문제 풀기 (백준 1006) 읽어주셔서 감사합니다. 오늘은 백준의 1005번, ACM craft 문제에 대해 풀어보도록 하겠습니다. *이번 문제도 1005번과 같이 1006번이라는 번호와는 걸맞지 않게 다이나믹 프로그래밍을 사용합니다. * 혼자 작성 하기는 하였으나, logic1부분은 타 블로그를 조금 참고했습니다. 조금 유감스러운 일입니다. 참고한 블로그 주소 code #include #include #include #define INF20001 #define MIN(x, y)(((x) (y))? (x) : (y)) int N, T, W; int dy[10002][3]; int val[10002][2]; enum{fir, sec, whl}; void l..
C++ ACM Craft 문제 풀기 (백준 1005) 읽어주셔서 감사합니다. 오늘은 백준의 1005번, ACM craft 문제에 대해 풀어보도록 하겠습니다. *이번 문제는 1005번이라는 번호와는 걸맞지 않게 알고리즘을 사용합니다. 저도 굉장히 놀랍군요. 앞에서 6번쨰 문제에 BFS, DFS도 아닌 위상 정렬 문제를 내다니 code #include #include #include #include #define MAX(x, y)(((x) > (y)) ? (x) : (y)) #define MIN(x, y)(((x) < (y)) ? (x) : (y)) using namespace std; //this can replace with dynamic allocation, but static allocation is fore fit at KOI style int Bt[..
C++ 어린 왕자 문제 풀기 (백준 1004) 읽어주셔서 감사합니다. 오늘은 백준의 1004번, 터렛 문제에 대해 풀어보도록 하겠습니다. *이번 문제는 코딩 문제를 빙자한 수학문제입니다. 앞으로 더더욱 이런 유형을 문제가많아질테니 초보자 분들은 참고하세요. code 아래 내용은 수학적인 내용을 다량 함유하고 있습니다. 사실상 수학적인 내용을 제외하면 일반적인 초보자가 짤 수 있는 수준의 코드이지요. 수학적 내용은 아래에서 설명하겠습니다. #include #include using namespace std; #define sq(x)((x)*(x)) int main(void) { int T; int x1, y1, x2, y2; int n; int cx, cy, r; int count; bool A, B; cin >> T; for (int j = 0; j..
C++ 피보나치 함수 문제 풀기 (백준 1003) 읽어주셔서 감사합니다. 오늘은 백준의 1003번, 피보나치 함수 문제에 대해 풀어보도록 하겠습니다. 코드 아래 내용은 수학적인 내용을 다량 함유하고 있습니다. 사실상 수학적인 내용을 제외하면 일반적인 초보자가 짤 수 있는 수준의 코드이지요. 수학적 내용은 아래에서 설명하겠습니다. #include #include using namespace std; static pair mem[41]; pair fibo(int n) { pair F, S; if (mem[n] != make_pair(0, 0)) return mem[n]; if (n == 0) return make_pair(1, 0); else if (n == 1) return make_pair(0, 1); else { F = fibo(n - 2); S = ..
C++ 터렛 문제 풀기 (백준 1002) 읽어주셔서 감사합니다. 오늘은 백준의 1002번, 터렛 문제에 대해 풀어보도록 하겠습니다. 코드 아래 내용은 수학적인 내용을 다량 함유하고 있습니다. 사실상 수학적인 내용을 제외하면 일반적인 초보자가 짤 수 있는 수준의 코드이지요. 수학적 내용은 아래에서 설명하겠습니다. #include #include using namespace std; #define square(x) ((x)*(x)) int main(void) { int r1, r2; int x1, y1, x2, y2; double D; int T; cin >> T; for (int i = 0; i > x1 >> y1 >> r1 >> x2 >> y2 >> r2; D = sqrt(square(x1 - x2) + squar..