반응형

분류 전체보기 2934

적분 공식을 이용한 Sin(x)함수 만들기

sin(x)를 구하는 적분 공식은 다음과 같다. sin(x) = x - x^3/3! + x^5/5! - x^7/7! + x^9/9! ... 여기서 x는 각도를 얘기하는 것이 아니라 라디안을 얘기를 한다. math.h에서 제공하는 sin()함수도 라디안을 입력 값을 갖는다. 이를 사용할 때 sin(90);과 같이 사용하는 것이 아니라 sin(90/PI);로 사용해야 한다. 암튼, 적분 공식을 이용해서 각도를 입력 매개변수를 받는 함수를 만들어 보자. #include #include double Fac(int n); double SignAngle(int angle) { int i; double rad = (angle%180)/180.0; double mul=0; int sign = 1; for(i=1 ; i

간단하게 Random함수 만들기

먼저 3.2GHz컴퓨터다라는 말을 많이 들었을 것입니다. 여기서 3.2GHz라는 말은 CPU클럭이 1초에 3.2 * 1,000,000,000 번 발생한다는 것입니다. 즉, CPU의 연산 처리 속도와 관련이 있다는 것이구요. BOOL QueryPerfomanceOunter(LPLARGE_INTERGER *pli);는 발생한 클럭 수를 얻어오는 interface입니다. 이를 이용해서 간단히 Random을 만들 수 있습니다. 물론, spirit한 정도가 균등하면서 동시에 Random한 좋은 Random이라고 할 수 없겠지만 굉장히 좋은 Random함수가 필요한 것이 아니라면 큰 문제가 되지 않을 것입니다. 물론, 있는 거 걍 사용하는 게 더 낫겠지만... #include #pragma warning (disa..

재귀함수 형상화

//아래의 코드를 main함수에서 호출하는 부분을 박스로 타고 들어가는 모습을 형상화해 보았습니다. //유심히 보시고 재귀함수의 원리를 이해하는데 도움이 되었으면 합니다. #include void move(int from, int to) { printf("%d %d\n", from, to); } void A(int n, int from, int by, int to) { if(n==1) move(from, to);// move1 else { A(n-1, from, to, by); // A1 move(from, to); // move2 A(n-1, by, from, to); // A2 } } void main() { A(3,1,2,3); } //형상화 부분 void main() { A(3,1,2,3); in..

한글 초성 알아내기

한글 초성 알아내기 원리는 다음과 같습니다. (지식iN질문 답변하다가 만들어 봤습니다.) 입력 문자열이 "가"보다 크거나 같고 "나"보다 작으면 초성은 "ㄱ" 입력 문자열이 "나"보다 크거나 같고 "나"보다 작으면 초성은 "ㄴ" 입력 문자열이 "다"보다 크거나 같고 "나"보다 작으면 초성은 "ㄷ" ...중략합니다... 참고로 한글의 마지막 글자는 힣 인데 C언어에 등록된 마지막 한글은 힛 입니다. 억울할 따름이죠. #include const char *GetInitialSound(const char *han_src) { const char *isarr[14] = {"ㄱ","ㄴ","ㄷ","ㄹ","ㅁ","ㅂ","ㅅ", "ㅇ","ㅈ","ㅊ","ㅋ","ㅌ","ㅍ","ㅎ"}; const char *isarr2[1..

쉬프트 연산

쉬프트 연산 좌항이 int형일 경우에 >는 산술 쉬프트입니다. 좌항이 unsigned일 경우에는 모두 논리 쉬프트입니다. 아래 디스어셈블리 창을 참고하세요. (s는 쉬프트,h은 논리, a는 산술 , l은 좌측, r은 우측) shl : 좌측논리쉬프트, sar:우측산술쉬프트, shr:우측논리쉬프트 즉, 차이는 우측 쉬프트연산에서 차이가 발생하게 됩니다. 논리 쉬프트는 빈 자리를 0으로 채웁니다. 산술 쉬프트는 빈 자리를 부호비트로 채웁니다. 예제를 통해 풀어봅시다. int fun1(unsigned word) { return (int) ((word 24); } int fun2(unsigned word) { return ((int) word 24); } 127은 이진수로 표기하면 0000 0000 0000 00..

6. 족구, 비발디 하우스 그리고 17기의 서막

제일 먼저 출발한 짱강이 길을 두어 번 잘못 들어가서 제일 늦게 도착했다. 성일이의 '이문세'를 할 때마다 넋이 나가 8809의 현영 말을 듣지 못한 것이 화근이다. 태형이가 짱강의 흘리고 간 쇼핑백을 들고 비발디 안으로 들어간다. "족구하러 내려가지" "내려가 봤는데 질퍽 거려서 못할 꺼 같은데…." "할 수 있을 거 같은데 일단 내려가자." 짱강의 차를 타고 오지 않은 이들은 이미 내려가 보았는지 상민이와 상기, 경민이를 빼고는 계속 공만 돌리고 있다. 짱강이 족구장을 여기 저기 돌아다니더니 고개를 설레 설레 젓는다. "이거 족구 못하겠는데…. 야추장, 족구 말고 다른 계획 세워 놓은 거 없니?" "6개조 풀리그 족구 게임으로 오후 계획 잡아놨거든요." 짱강과 성일이가 폭설 때문에 오후 계획이 차질이..

5. Go GO 비발디 하우스

1월 29일 오전 10시 원화관 앞에는 구정 연휴동안 내린 폭설로 쌓인 눈과 출입하는 이들을 위해 관리하는 아저씨들이 자동차가 다닐 수 있게 해 놓은 통로가 보인다. 10시 10분이 되면서 한 명 또 한명 그리고 또 한명씩 모여들기 시작한다. 이들은 모두 선문비트교육센터 17기 예비 고급과정 학생들이다. 2월 2일에 시작되는 고급과정이 시작되기 전에 자신들의 규칙을 정하고 멤버들간의 조직력을 결속시키는 이유에 가는 것이다. 하지만 이미 이들은 자신들의 규칙을 정하는 워크샾은 지난 금요일에 진행을 하여 오늘은 MT분위기에 한껏 고조되어 있다. "동영아, 며칠 사이에 늙어보인다." "성일이 형은 이제 장가가야 되겠는데." 구정 연휴를 보내고 다시 만나는 첫 인사부터 성일이의 유머 본능과 동영이의 신중한 끝말..

반응형