블로그 이미지
Every unexpected event is a path to learning for you. blueasa

카테고리

분류 전체보기 (2794)
Unity3D (852)
Programming (478)
Server (33)
Unreal (4)
Gamebryo (56)
Tip & Tech (185)
협업 (11)
3DS Max (3)
Game (12)
Utility (68)
Etc (98)
Link (32)
Portfolio (19)
Subject (90)
iOS,OSX (55)
Android (14)
Linux (5)
잉여 프로젝트 (2)
게임이야기 (3)
Memories (20)
Interest (38)
Thinking (38)
한글 (30)
PaperCraft (5)
Animation (408)
Wallpaper (2)
재테크 (18)
Exercise (3)
나만의 맛집 (3)
냥이 (10)
육아 (16)
Total
Today
Yesterday



<이진 탐색 알고리즘 구현>

100개 정도의 미리 정렬된 자료에서 이진 탐색 알고리즘으로
원하는 자료를 검색하는 프로그램을 구현하시오. 


 
반응형
Posted by blueasa
, |


과제 31 에서는 Heap 에서 할당 받은 메모리를 이용하여
pointer로 각 node를 가리키는 Single Linked List 를 구현하였다.

1. 이번에는 단순 배열을 이용하여 메모리를 확보하고
pointer 대신에 배열의 index 로 각 node를 가리키는 Single Linked List를 구현하시오. 

2. 이를 이용하여 stack 과 queue를 구현하시오. 

3. 과제 31과 32 에서 구현한 자료구조와 이번 과제33에서 구현한 자료구조의
실행속도를 서로 비교해보시요.
(Windows API 의 시간 측정 함수 timeGetTime, QueryPerformanceCounter 등을 활용) 

반응형
Posted by blueasa
, |


과제031 에서 구현한 단일 연결 리스트(Single Linked List) 를 활용하여
"큐"와 "스택"을 구현

==== main 함수 ====
void main()
{
 Stack<int> stack;
 
 stack.Push(1);
 stack.Push(2);
 stack.Push(3);
 stack.Push(4);
 stack.Push(5);

 stack.Print();

 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;
 cout<<"stack.Pop() = "<<stack.Pop()<<endl;

 stack.Print();

 Queue<char> queue;

 queue.Push('a');
 queue.Push('b');
 queue.Push('c');
 queue.Push('d');

 queue.Print();

 cout<<"queue.Pop() = "<<queue.Pop()<<endl;

 queue.Print();

 system("PAUSE");
}

반응형
Posted by blueasa
, |



단일 연결 리스트(Single Linked List) 구현

==== main 함수 ====
void main()
{
 LinkedList<int> linkedlist;

 linkedlist.InsertFirst(1);
 linkedlist.InsertFirst(2);
 linkedlist.InsertLast(3);
 linkedlist.Insert(1, 4);
 linkedlist.DeleteLast();
 linkedlist.Delete(2);
 linkedlist.InsertLast(5);
 linkedlist.InsertLast(6);
 linkedlist.Insert(4, 7);
 linkedlist.DeleteFirst();

 cout<<"linkedlist.InsertFirst(1)"<<endl;
 cout<<"linkedlist.InsertFirst(2)"<<endl;
 cout<<"linkedlist.InsertLast(3)"<<endl;
 cout<<"linkedlist.Insert(1, 4)"<<endl;
 cout<<"linkedlist.DeleteLast()"<<endl;
 cout<<"linkedlist.Delete(2)"<<endl;
 cout<<"linkedlist.InsertLast(5)"<<endl;
 cout<<"linkedlist.InsertLast(6)"<<endl;
 cout<<"linkedlist.Insert(4, 7)"<<endl;
 cout<<"linkedlist.DeleteFirst()"<<endl;

 linkedlist.Print();

 linkedlist.DeleteAll();
 cout<<"linkedlist.DeleteAll()"<<endl;

 linkedlist.Print();

 system("PAUSE");
}

반응형
Posted by blueasa
, |

 

짜요짜요타이쿤

 

[B팀] 짜요짜요 타이쿤.pptx
다운로드
[B팀] 짜요짜요 타이쿤.uml
다운로드
과제030-실행버전.zip
다운로드



[팀과제]
1. 게임 대한 클래스 설계 및 구현.
2. 게임에 대한 주제는 어떤한 것이라도 좋다.
3. 기간내에 구현할 수 있게 간단하게 만들것.


C/C++을 마치면서 팀과제로 만든 게임입니다.
모바일 게임 짜요짜요 타이쿤을 콘솔버전으로 만들어 봤습니다.
메인 화면의 한자는 '가유'라는 단어인데 중국어로 '짜요'라고 읽히는데, 기름을 더한다는 뜻으로..'Fighting'과 같은 뜻입니다.
발음이 짜요짜요 타이쿤의 짜요와 같아서 넣어봤습니다.

반응형
Posted by blueasa
, |



==== main() 함수 테스트용 소스 ====
void main()
{
 TQueue<int> queueINT(5);

 printf("check : %s\n",(queueINT.Push(1))?"True":"False");
 printf("check : %s\n",(queueINT.Push(2))?"True":"False");
 printf("check : %s\n",(queueINT.Push(3))?"True":"False");
 printf("check : %s\n",(queueINT.Push(4))?"True":"False");
 printf("check : %s\n",(queueINT.Push(5))?"True":"False");
 printf("check : %s\n",(queueINT.Push(6))?"True":"False");
 printf("check : %s\n",(queueINT.Push(7))?"True":"False");

 printf("%d\n",queueINT.Pop());
    printf("%d\n",queueINT.Pop());
    printf("%d\n",queueINT.Pop());
    printf("%d\n",queueINT.Pop());
    printf("%d\n",queueINT.Pop());
    printf("%d\n",queueINT.Pop());
 printf("%d\n",queueINT.Pop());
 printf("%d\n",queueINT.Pop());

 printf("check : %s\n",(queueINT.Push(8))?"True":"False");
 printf("check : %s\n",(queueINT.Push(9))?"True":"False");
 printf("%d\n",queueINT.Pop());
 printf("%d\n",queueINT.Pop());

 TQueue<char> queueCHAR(5);

 printf("check : %s\n",(queueCHAR.Push('a'))?"True":"False");
 printf("check : %s\n",(queueCHAR.Push('b'))?"True":"False");
 printf("check : %s\n",(queueCHAR.Push('c'))?"True":"False");
 printf("check : %s\n",(queueCHAR.Push('d'))?"True":"False");
 printf("check : %s\n",(queueCHAR.Push('e'))?"True":"False");
 printf("check : %s\n",(queueCHAR.Push('f'))?"True":"False");

 printf("%c\n",queueCHAR.Pop());
    printf("%c\n",queueCHAR.Pop());
    printf("%c\n",queueCHAR.Pop());
    printf("%c\n",queueCHAR.Pop());
    printf("%c\n",queueCHAR.Pop());

 TQueue<float> queueFLOAT(5);

 printf("check : %s\n",(queueFLOAT.Push(1.0f))?"True":"False");
 printf("check : %s\n",(queueFLOAT.Push(2.0f))?"True":"False");
 printf("check : %s\n",(queueFLOAT.Push(3.0f))?"True":"False");
 printf("check : %s\n",(queueFLOAT.Push(4.0f))?"True":"False");
 printf("check : %s\n",(queueFLOAT.Push(5.0f))?"True":"False");
 printf("check : %s\n",(queueFLOAT.Push(6.0f))?"True":"False");

 printf("%.1f\n",queueFLOAT.Pop());
    printf("%.1f\n",queueFLOAT.Pop());
    printf("%.1f\n",queueFLOAT.Pop());
    printf("%.1f\n",queueFLOAT.Pop());
    printf("%.1f\n",queueFLOAT.Pop());

 TQueue<double> queueDOUBLE(5);

 printf("check : %s\n",(queueDOUBLE.Push(1.1f))?"True":"False");
 printf("check : %s\n",(queueDOUBLE.Push(2.2f))?"True":"False");
 printf("check : %s\n",(queueDOUBLE.Push(3.3f))?"True":"False");
 printf("check : %s\n",(queueDOUBLE.Push(4.4f))?"True":"False");
 printf("check : %s\n",(queueDOUBLE.Push(5.5f))?"True":"False");
 printf("check : %s\n",(queueDOUBLE.Push(6.6f))?"True":"False");

 printf("%g\n",queueDOUBLE.Pop());
    printf("%g\n",queueDOUBLE.Pop());
    printf("%g\n",queueDOUBLE.Pop());
    printf("%g\n",queueDOUBLE.Pop());
    printf("%g\n",queueDOUBLE.Pop());

 system("PAUSE");
}

반응형
Posted by blueasa
, |


팀과제

Use Case Diagram *
Class Diagram (x)
Object Diagram
Interaction Diagram
Sequence Diagram *
Collaboration Diagram
Package Diagram
State Diagram *
Activity Diagram *
Deployment Diagram 
반응형
Posted by blueasa
, |


캐릭터, 유저(플레이어), 아이템에 관한 클래스다이어그램을 작성하시오!
UML 설계(StarUML 사용)와 함께 구현한 코드를 작성한다.

 유저는 캐릭터를 0~3개 가질수 있으며,
캐릭터는 아이템을 0~5개 가질수 있다.

메소드와 속성 또한 작성하시오!

반응형
Posted by blueasa
, |



String 클래스 만들기
- MSDN 참조
- 만들수 있는데까지... 만들기.
- main 함수에 Test Code 만들기.

===== 테스트용 코드 =======
 MyCString s6('x', 6);
 s6.Output();
 s6.Insert(3, "abc");
 s6.Output();
 s6.GetBuffer(10);
 s6 = "Test Time";
 s6.Output();
 MyCString a = "1234";
 MyCString b = "456" + a;
 a.Output();
 b.Output();
 b.SetAt(0, '*');
 b.Output();
 if(a != b)
  printf("a != b\n");
 if(a > b)
  printf("a > b\n");
 else
  printf("a <= b\n");
 MyCString c = "abcde";
 c.Delete(0, 2);
 c.Output();
 printf("s6.Compare(s3) : %d\n", s6.Compare(s3));
 cout<<s3;

반응형
Posted by blueasa
, |


Complex 클래스 만들기 

void main()
{
// 관계 연산자 // ==,=! (실수,허수) 대소(실수만 생각) 상수 포함
// 증감 연산자 ++, --, +=, -=, *=, /=, 상수 포함
// c = ++a; // 실수만 증가 ...
// c.Output();
// a++; // 실수만 나중에 증가 ...
// c.Output();
// 대입 연산자
// 복사생성자
// Complex c = a;
// 대입연산자
// c = a;
// 기본연산자 처리
// c = 2*(1 + a*3 + 2)*(1 / (1 - b/2))+ (b - 1);
// c.Output(); 
}

반응형
Posted by blueasa
, |