본문 바로가기

반응형

C, C++, C#

(30)
하노이의탑 반복형 하노이의탑 반복형입니다. 이 문제의 기본적 조건이 있습니다. 1. 큰 원판은 작은 원판에 올라가지 못한다. 2. 한번에 한개씩만 움직일 수 있다. 3. 3개의 움직일 수 있는 칸?이 있다. 이번 경우는 스택을 써서 하는건데 인터넷에서 떠도는 소스를 조금 고쳐서 나름 시각화..?했습니다. 다들 비슷해서 도움은 안되실지라도 한번씩 해보시면 좋을거같네요! 나름 시각화를 해봤습니다... #include int Stack[10]; int cur; char Grapic[3][3] = {{'1','2','3'}, {'-','-','-'}, {'-','-','-'}}; void GrapichArray() { for(int i = 0; i < 3; i++) { for(int j = 0; j < 3; j++) { prin..
하노이의 탑 c 예제 안녕하세요. 이번에는 c를 공부하다보면 대부분 마주치는 하노이의 탑에대해서 올려 보겠습니다. 어린 얘들의 사고력?을 키워주기 위해 장난감으로도 있는데요. 이 문제의 기본적 조건이 있습니다. 1. 큰 원판은 작은 원판에 올라가지 못한다. 2. 한번에 한개씩만 움직일 수 있다. 3. 3개의 움직일 수 있는 칸?이 있다. 위키백과 가기 위키백과에 애니메이션까지 설명이 아주 잘 나와 있어요. 아래 있는 소스 또한 위키백과에 있는 소스를 가지고 만든 소스입니다. 거기에 시간을 재는 clock() 함수를 이용해서 시작 끝시간을 확인해 원판에 개수에 따라 걸리는 시간을 체크 했습니다. 전 항상 소스를 올리도록 노력합고있어요! 아래 캡쳐된 그림의 Count : 는 원판의 갯수고 뒤는 시간이에요! 대략 두배씩 시간이 오..
MFC 트리컨트롤 선택 트리컨트롤 선택 문자열 받기 학교 과제를 하면서 추가점을 받으려고 간단한 제출용 인사 프로그램을 만들던 중 간만에 트리컨트롤을 쓰니 헷갈려서 포스팅해요! 저는 문자열을 받아서 리스트와 문자를 보고 맵핑 했습니다. 다른 방법도 있을거 같아요(예를 들어 트리컨트롤의 인댁스? 를 받아온다던지) 전 당장 몇일 후가 제출이여서 저는 문자열로 맵핑했습니다. 트리컨트롤(멤버변수) : m_tree 1. 트리 컨트롤 선택2. 속성창 선택3. 번개표시(이벤트 창) 선택4. TVN_SELCHANGED 선택(트리 컨트롤이 다른 항목으로 선택 변경된 이벤트) OnTvnSelchangedTree1 이벤트 입니다. LPNMTREEVIEW pNMTreeView = reinterpret_cast(pNMHDR); HTREEITEM hI..
피보나치 수열 재귀 재귀형 피보나치 수열입니다!! 프로그래밍을 배우다보면 모두 한번쯤 하는 알고리즘 이죠! 처음 하시는 분들은 어려우실수 있어요 특히 재귀함수는 항상 머리아프더라고요... #include "stdafx.h" #include "stdio.h" #include "time.h" int fibo(int num) { if(num == 0 || num == 1) return 1; else { return fibo(num-1) + fibo(num-2); } } void main() { while(true) { printf("몇번 입력할까요?"); int num = 10; scanf_s("%d", &num); printf("%d번째까지 피보나치를 실행한 재귀의 시간\n", num); clock_t start, finish..
The Next Higher Permutation 반복(iterater) The Next Higher Permutation 반복형으로 트리형식으로 모든 경우의 수를 구하는 알고리즘입니다. 이전 글인 재귀형과 같은 결과가 나와요 재귀형에 비해 약간 지저분한 느낌이 없지않게 있지만... 결과는 나오니까요..! 큰 도움이 안되더라도 참고하듯 봐주세요... #include "stdafx.h"#include #include #include #include int nNumItemCnt = 0; int g_Array[100]; int num_of_test = 0;int rand_seed = 0; void initialize();int generateNextHigherPermutationItem();void printItem();void Exchange_Sort(int index_i); /..
The Next Higher Permutation 재귀(Recursive) The Next Higher Permutation 재귀형으로 트리형식으로 모든 경우의 수를 구하는 알고리즘입니다. The Next Higher Permutation으로 모든 경우의 수를 구한 후 나온 경우의 수를 n, n+1 를 각각 x, y좌표로 최단 경로를 확인 하는 소스에요.(추가로 정렬 + 최단거리하는데 걸리는 시간도 확인 할 수 있어요.)학교에서 알고리즘 과제 제출용으로 한개씩 구글링 + 수정한 소스를 올릴게요. #include "stdafx.h"#include #include #include #include int nNumItemCnt = 0; int g_Array[100]; void init();int generateNextHigherPermutationItem();void printItem..

반응형