본문 바로가기

C++ in Windows

set 실습 실습이다. 더이상의 설명은 생략한다.#include #include #include #include #include using namespace std; void main(void) { bool flag = true; set data; while(flag) { string tstr; cout > buf ) tokens.push_back(buf); // 나눈 토큰의 양이 0보다 작으면 다시 입력을 받는다. if ( tokens.size() = 0 ) { char* cmd = new char[tokens[0].length()]; strcpy(cmd , tokens[0].c_str()); if ( strcmp( cmd, "add") == 0 )// add일 경우. { string b; for( unsigned.. 더보기
ICPC 대비 문제 6. 인터프리터(interpreter) >> 문제 6. 인터프리터(interpreter) PC/UVa ID: 110106/10033, 인기도: B, 성공률: 낮음, 레벨: 2 어떤 컴퓨터에 열 개의 레지스터와 1,000워드 분량의 램(RAM)이 있다. 각 레지스터 또는 램 위치에는 0 이상 999 이하의 세 자리 정수가 저장된다. 명령어는 세 자리 정수로 인코딩되며 램에 저장된다. 인코딩은 다음과 같다. 100 종료 2dn d 레지스터를 n으로 설정(0이상 9이하) 3dn d 레지스터에 n 더함 4dn d 레지스터에 n 곱함 5ds d 레지스터를 s 레지스터의 값으로 설정 6ds s 레지스터의 값을 d레지스터에 더함 7ds d 레지스터에 s 레지스터의 값을 곱함 8da d 레지스터를 a 레지스터에 저장된 주소의 램에 들어있는 값으로 설정 9s.. 더보기
ICPC 대비 문제 5. 그래픽 편집기(Graphical Editor) 문제 5. 그래픽 편집기(Graphical Editor) PC/UVa ID:110105/10267, 인기도:B, 성공률: 낮음, 레벨: 1 포토샵 같은 그래픽 편집기를 이용하면 텐스트 편집기에서 문서를 수정하는 것처럼 비트맵 이미지를 수정할 수 있다. 이미지는 픽셀로 이루어진 M X N 배열로 표현되며 각 픽셀마다 색이 주어진다. 간단한 대화형 그래픽 편집기를 흉내를 낼 수 있는 프로그램을 만들어보자. >> 입력 입력은 한줄에 하나씩의 편집기 명령으로 구성된다. 각 명령은 줄 맨 앞에 있는 대문자 한 개로 표현된 다. 매개변수가 필요한 경우에는 그 명령과 같은 줄에 스페이스로 분리되어 매개변수가 입력된다. 픽셀 좌표는 1이상 M이하의 열번호와 1 이상 N 이하의 행 번호, 이렇게 두 개의 정수로 표현되며.. 더보기
vector 실습 요 몇년동안 윈도우 CE기반 MFC를 사용했다. 하지만 앞으로는 Window가 아닌 플렛폼에서도 개발을 해야 될꺼 같다. 물론 아직은 C++이 아닌 언어는 본격적으로 할 생각이 없기 때문에. 그런고로 이제는 MFC에서 쉽게 사용하던 CArray, CList와 같은 클래스를 사용할수 없다 생각하고. STL을 사용하여 코딩을 하려한다. 그런고로 자문자답. >> 문제 양수 n를 입력받으면 vector에 n을 기록한다. 음수 n를 입력받으면 현재 데이터의 abs(n)의 값을 삭제한다. 0을 입력받으면 프로그램을 종료한다. #include #include #include using namespace std; void main(void) { vector data; while( true ) { int temp; ci.. 더보기
ICPC 대비 문제 4. LCD 디스플레이(LCD Disply) 문제 4. LCD 디스플레이(LCD Disply) PC/UVa ID: 1101014/706, 인기도:A, 성공률: 보통, 레벨:1 >> 문제 한 친구가 방금 새 컴퓨터를 샀다. 그친구가 지금까지 샀던 가장 강력한 컴퓨터는 공학용 전자 계산 기였다. 그런데 그 친구는 새 컴퓨터의 모니터보다 공학용 계산기에 있는 LCD 디스플레이가 더 좋다 며 크게 실망하고 말았다. 그 친구를 만족시킬 수 있도록 숫자를 LCD 디스플레이 방식으로 출력하는 프로그램을 만들어보자. >> 입력 입력 파일은 여러 줄로 구성되며 표시될 각각의 숫자마다 한줄씩 입력된다. 각 줄에는 s와 n이라는 두개 의 정수가 들어있으며 n은 출력될 수사(0 입출력예 소스 보기 #include using namespace std; class CNum.. 더보기
ICPC 대비 문제 3. 여행(The Trip) 문제 3. 여행(The Trip) PC/UVa ID: 110103/10137, 인기도: B, 성공률: 보통, 레벨: 1 >> 문제 일 년에 한 번씩 다른 여행지로 여행을 가는 학생 모임이 있다. 그 학생들은 지금까지 인디애나폴리 스, 피닉스, 필라델피아, 산호세, 아틀란타를 여행했다. 이번 봄에는 아인트호벤으로 여행을 갈 계획이다. 이 학생들은 여행 경비를 모두 똑같이 부담하기로 합의했지만 돈을 쓸 때마다 나눠서 내는 것은 별로 실용적이지 못하다. 그래서 한명씩 식비, 호텔비, 택시비, 비행기표를 부담하기로 한다. 여행이 끝난 후에 각 학생이 지출한 내역을 계산한 다음 1센트 단위 내에서 모든 학생들이 쓴 돈이 같도록 돈을 주고 받는다. 하지만 이전 여행의 경험에서 비추어보면 돈을 주고 받는 과정은 정말.. 더보기
ICPC 대비 문제 2. 지뢰찾기 문제 2. 지뢰찾기 PC/UVa ID:110102/10189, 인기도: A, 성공률:높음, 레벨: 1 지뢰 찾기를 해본 적있는 독자들이 많을 것이다. 이름은 잘 기억이 안나지만 어떤 운영체제에 이 작고 귀여운 게임이 깔려있다. 지뢰찾기는 M X N 크기의 지뢰밭에서 모든 지뢰의 위치를 찾아내는 게임이다. 이 게임에서는 각 칸에 인접한 칸에 몇 개의 지뢰가 있는지를 보여준다. 각 칸에는 최대 여덟 개의 인접한 칸이 있을수 있다. 아래에서 왼쪽에 있는 4X4 지뢰밭에는 지뢰 두개가 있으며 각각은 '*'문 자로 표시되어 있다. 이 지뢰밭을 방금 설명한 힌트 숫자로 표기하면 오른쪽에 있는 것과 같은 필드 가 만들어진다. *...*100 ....2210 .*..1*10 ....1110 >> 입력 입력은 임의 개수.. 더보기
ICPC 대비 문제 1. 3n+1문제 문제 1. 3n+1문제 PC/UVa ID 110101/100, 인기도:A, 성공률:낮음, 레벨:1 어떤 수열을 만들어내는 다음과 같은 알고리즘을 생각해보자. 어떤 정수 n에서 시작해 n이 짝수면 2로 나누고, 홀수면 3을 곱한 다음 1을 더한다. 이렇게 해서 새로 만들어진 숫자를 n으로 놓고 n=1이 될때까지 작업을 계속 반복한다. 예를들어, n=22이면 다음과 같은 수열이 만들어진다. 22 11 34 17 52 26 13 40 20 10 5 16 8 4 2 1 아직 증명되진 않았지만 모든 정수 n에 대해 이 알고리즘을 적용시키면 결국에는 n=1에 이르게 되는 것으로 추측된다. 그리고 이 가설은 적어도 1,000,000까지의 정수에 대해서는 참이다 n이라는 값이 입력되었을 때 1이 나올 때까지 만들어진 .. 더보기
Singleton을 Template로 만들기 디자인 패턴을 공부하면서 Singleton을 가장 먼저 쓸수 있게 되었다. 그러다가 고민.. 이걸 template로 만들어서 찍어내는건 어떨까?? 하면서 만들게 된게 바로 이것. Singleton.h #ifndef _Singleton_H_ #define _Singleton_H_ // Design Pattern : Singleton Class template class CSingleton { private: // Static member variable static Single* Instance; protected: CSingleton(); ~CSingleton(); public: // Instance Construct static Single* GetInstance() { // Notting Instan.. 더보기
CFile, CFileException MSDN - CFile Members(클릭) MSDN 예제보기 //example for CFile::Open CFile f; CFileException e; char* pFileName = "test.dat"; if( !f.Open( pFileName, CFile::modeCreate | CFile::modeWrite, &e ) ) { #ifdef _DEBUG afxDump 더보기