본문 바로가기

Computer Science&Engineering/C\C++

(5)
[C++] 함수 오버로딩 vs 오버라이딩 # 함수 오버로딩(overloading)이란 서로 다른 함수에 대하여 같은 이름을 사용하는 기능입니다. 함수의 이름은 같지만 함수 선언에 사용된 매개변수의 타입이나 갯수가 다를 때, 함수 오버로딩이 가능합니다. 이 때 리턴 타입은 서로 다른 함수에 포함되지 않습니다. 아래 코드에서 square 라는 이름의 함수가 오버로딩 되었습니다. int square(int x) { return x * x; } double square(double x) { return x * x; } int main() { cout
C언어 반올림, 헤더없이 구현하기 반올림 구할 때 당연하게 #include 해서 round() 함수를 썼었는데, 알고리즘 문제풀이 사이트에서는 헤더파일 포함이 안되더라고요. 그래서 반올림을 헤더 없이 구현해보았습니다. 양수의 경우 bias로 0.5를 더해준다음에 int 형식으로 변환해주면 됩니다. #include int round(float value){ value += 0.5; return (int)value; } void main(void) { float a = 2.875f; float b = 2.1234f; printf("%f ==> %d\n", a, round(a)); printf("%f ==> %d\n", b, round(b)); } 음수의 경우도 마찬가지로, 0.5를 빼주면 될 것 같습니다. #include int round(..
[정올: 정보올림피아드] 128 : 반복제어문1 - 형성평가4 문제풀이 문제 0 이 입력될 때까지 정수를 계속 입력받아 3의 배수와 5의 배수를 제외한 수들의 개수를 출력하는 프로그램을 작성하시오. 내 문제 풀이 #include int main() { int num = 0, count =0 ; while (1) { scanf("%d", &num); if(num == 0) break; if(num%3 == 0 || num%5 == 0){ } else count++; } printf("%d", count); return 0; }
[정올: 정보올림피아드] 126 : 반복제어문1 - 형성평가2 문제풀이 문제 0 이상의 정수들이 공백으로 구분되어 반복적으로 주어진다. 0이 입력되면 반복문을 멈추고 그 전까지 입력받은 수들에 대하여 홀수의 개수와 짝수의 개수를 출력하는 프로그램을 작성하시오. 내가 푼 답안 #include int main() { int num = 0, odd = 0 , even = 0; while (1) { scanf("%d", &num); if(num == 0) break; num%2 == 0? even++: odd++; } printf("odd : %d\neven : %d", odd, even); return 0; } 이거 한 번 틀렸다가, 수정해서 맞았다. 틀렸던 게 좀 황당해서 기록하는데, 출력 시 "odd : " 인데 "odd: " 라고 띄어쓰기 안해서 wrong answer가 떴..
가벼운 IDE | C , C++ 컴파일러 추천 | dev-C++ 다운로드 | 설치 5분컷 # 5분도 안 걸리는 설치 방법 http://orwelldevcpp.blogspot.com/ Dev-C++ Blog The official site of the Bloodshed Dev-C++ update, which is fully portable, and optionally ships with a 64bit compiler. orwelldevcpp.blogspot.com 위 링크에 들어간다. 위에 것 중 맨 첫번째 here 을 눌러준다. 그러면 다음과 같은 화면이 뜨면서 설치파일을 다운받을 수 있다. 이후에는 계속 NEXT 눌러가며 설치하면 된다 (설치할 때 바로가기 shortcut 는 만들어주면 좋을 듯!) 그럼 무료에, 가볍고, 빠르며, 단순한 C/C++ 개발환경을 GET 할 수 있다. # 프로젝..