전체 글

전체 글

    다차원 배열

    배열은 배열 요소들을 2차원 , 3차원으로 만들어서 2차원 배열 , 3차원 배열을 나타낼 수 있습니다. 즉 2차원 배열은 배열의 배열이고 , 3차원 배열은 배열의 배열의 배열입니다. 2차원 이상의 배열을 다차원 배열이라고 합니다. 다차원 배열의 선언 2차원 배열은 배열의 배열이므로 선언 방법이 1차원 배열과 같은 형식이면서 늘어난 만큼 []를 더 추가하고 그 안에 배열의 크기를 넣어줍니다. 자료형 배열 이름 [배열 크기][배열 크기] 2차원 배열은 차수가 2므로 2개의 배열 크기가 필요합니다. 배열의 구조를 논리적으로 표현 할 때 첫번째 배열의 크기는 행의 개수가 되고 두번째 배열 크기는 열의 개수가 됩니다. 따라서 첫번째 배열 크기에 대한 인덱스는 행번호가 되고 두번째 배열크기에 대한 인덱스는 열의 크..

    [dovelet] coci_spa

    [문제] 주어진 시각에서 45분 전의 시각을 출력하는 문제입니다. 2단계의 문제이다보니 확실히 UVA문제보다 쉽습니다. 먼저 간단하게 앞에 적어준 분을 초로 바꿔주고 45분을 뺀후 다시 분과 초로 바꿔주는 것이 기본입니다. 그런데 시간이 0시일때 문제가되는데 if문으로 0시일때는 시를 24로 분을 60+y값으로 해주어서 풀었습니다. 소스입니다. #include int main() { int x,y; int sum=0; int sum1=0; int sum2=0; int sum3=0; int sum4=0; scanf("%d %d",&x,&y); if(x==0 && y/60==0) { x=24; y=y+60; sum = (60*x)+y; sum1= sum-45; sum2= sum1/60; sum3= sum1%..

    [UVA] 10041번 문제

    UVA 10041번 문제 입니다. 가장 이동 거리를 최소화 할 수 있는 집 하나를 정하고 그 집과 다른 집들의 거리를 구하는 문제였습니다. 이동 거리를 최소화 할 수 있는 집 하나를 찾기가 가장 어려웠는데요 문제를 계속해서 풀다보니 배열들을 각각 빼 보니 최소화 할 수 있는 집을 찾는 것과 동일한 값이 나와 코팅을 해보니 Accepted가 떳네요 소스 입니다. #include #include #include int main() { int n=0; int input=0; int nod[10000]={0,}; int i=0; int j=0; int sum=0; int average=0; int i1=0; int j1=0; int temp=0; int left=0; int right=0; while(scanf..

    [API] 출력 영역 얻기

    디바이스 컨텍스트 얻기 함수 : BeginPaint() HDC BeginPaint( HWND hwnd, PAINTSTRUCT *lpPaint ); HWND hwnd : 생성한 윈도우의 핸들 값 PAINTSTRUCT *lpPaint : 출력 영역에 대한 정보를 저장할 PAINTSTRUCT 구조체의 주소 BeginPaint() 함수로 디바이스 컨텍스트 핸들을 얻어 오는 방법은 WM_PAINT 메시지가 발생했을 때만 사용해야 하고 , 다른 메시지는 GetDC() 함수를 사용한다. BeginPian() 함수를 이용해 디바이스 컨텍스트를 얻어와 출력을 마친 후에는 반드시 EndPaint() 함수를 호출해야 합니다. EndPaint() 함수는 출력의 끝을 나타냅니다. 디바이스 컨텍스트 반환 함수 : EndPaint..

    윈도우 창 생성하기 소스( 주석 포함 )

    #include LRESULT CALLBACK WndProc(HWND hwnd,UINT iMsg, WPARAM wParam , LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance , HINSTANCE hPrevInstance , LPTSTR lpszCmdLine , int nCmdShow) { HWND hwnd; MSG msg; // 윈도우 클래스 생성 WNDCLASS WndClass; // 윈도우 클래스 타입인 WNDCLASSEX의 변수를 만들고 각 필드에 값 부여 WndClass.style = CS_HREDRAW | CS_VREDRAW; // 윈도우의 크기를 변경하면 다시 그리는 형태의 윈도우 WndClass.lpfnWndProc = WndProc; //..

    [API] 윈도우 프로그램의 구조

    콘솔 기반의 C언어 프로그램은 메인 함수를 기본으로 , 필요에 따라 다른 함수를 추가합니다. 반면 , 윈도우 프로그램은 크게 메인 부분과 메시지 처리 부분으로 나눕니다. 메인 부분에서는 윈도우를 만들고 화면에 윈도우를 띄우며 윈도우에서 발생하거나 응용 프로그램과 관련해 발생하는 모든 메시지를 전송하는 역할을 합니다. 엄밀히 말하면 메시지는 이벤트가 발생하면 오는 신호이고 , 신호는 윈도우 커널이 보냅니다. 메인 부분은 이를 하나씩 받아서 메시지 처리 부분으로 보냅니다. 메시지 처리 부분은 메시지를 받아 메시지에 약속된 반응을 보입니다. 메시지에는 마우스의 움직임이나 버튼 클릭에 따른 메시지, 키보드 눌림에 따른 메시지, 다양한 컨트롤에서 발생하는 메시지 , 메뉴에서 발생한느 메시지 등이 있습니다. 콘솔 ..

    USB로 exe 자동실행 소스

    /////// safeDlg.h 에 선언 ///////// int drive, curdrive; static char path[_MAX_PATH]; /////// safeDlg.cpp 에 선언 ////// int i=1; char k='\0'; char* park1 = ":\\security.exe"; char q[100]; 맽 밑에다가 그냥 추가시켜주면 된다. BOOL CsafeDlg::OnDeviceChange( UINT nEventType, DWORD dwData ) { DEV_BROADCAST_HDR *pDevBroadcastHdr = (DEV_BROADCAST_HDR*)dwData; DEV_BROADCAST_PORT *pDevBroadcastPort = NULL; CString sStorage ..

    여러 정렬 알고리즘 평균 속도 , 최악의 상황 속도 , 메모리

    Name 평균 최악의 상황 Memory Stable Method Bubble sort ㅡ O(n^2) O(1) Yes Exchanging Cocktail sort ㅡ O(n^2) O(1) Yes Exchanging Comb sort O(n log n) O(n log n) O(1) No Exchanging Gnome sort ㅡ O(n^2) O(1) Yes Exchanging Selection sort O(n^2) O(n^2) O(1) No Selection Insertion sort O(n + d) O(n^2) O(1) Yes Insertion Shell sort ㅡ O(n log2 n) O(1) No Insertion Binary tree sort O(n log n) O(n log n) O(n) Yes..