728x90

분류 전체보기 518

수학. 곱셈 공식과 인수 분해

대수식을 간단하게 만들기 위해서 외워두어야 하는 공식들. 곱셈공식 복부호 동순 01) \( (a±b)^2 = a^2±2ab+b^2 \) 02) \( (a+b)(a-b) = a^2-b^2 \) 중요 03) \( (x+a)(x+b)(x+c) = x^3+(a+b+c)x^2+(ab+bc+ca)x + abc \) 04) \( (a+b+c)^2 = a^2+b^2+c^2+2(ab+bc+ca) \) 05) \( (a±b)^3 = a^3±3a^2b+3ab^2±b^3 \) 06) \( (a+b)(a^2-ab+b^2)=a^3+b^3 , (a-b)(a^2+ab+b^2)=a^3-b^3 \) 중요 07) \( (a+b+c)(a^2+b^2+c^2-ab-bc-ca) = a^3+b^3+c^3-3abc \) 08) \( (a^2+ab+..

C(&C++) 이론 20. 동적 할당

내용 참고 C++ 기초플러스 4판 (성안당) 혼자 연구하는 C/C++ (Soen.kr/와우북스) 동적 할당 ■ 동적 할당이란 프로그래밍 시점에서는 메모리가 얼마나 필요한지 알 수 없어 실행 중에 메모리를 할당하는 것을 말한다. ■ 예를 들어 주소록을 저장하는 배열을 만들어야 하는데, 몇명이나 저장해야 할지 모를 때 동적할당을 사용한다. ■ 동적할당 대신에 충분히 큰 배열을 만들어 놓으면 대처할 수는 있겠지만 이 경우에는 메모리 낭비가 극심할 것이다. ■ C언어에서는 동적할당을 위해서 malloc()과 free()라는 함수를 사용했다. ■ C++에서는 언어에서 지원하는 new와 delete라는 전용 연산자를 사용한다. ■ C++의 명령어가 더 사용이 편하고 직관적이기 때문에 주로 C++의 방법이 사용된다...

C(&C++) 이론 19. 이중 포인터

내용 참고 혼자 연구하는 C/C++ (Soen.kr/와우북스) 이중 포인터 ■ 이중 포인터란 포인터를 가리키는 포인터라는 의미이다. ■ int** ppi; 라고 쓰면 이중 포인터가 되고, int*** pppi; 라고 쓰면 3중 포인터가 될 것이다. ■ 원한다면 10중 포인터나 그 이상도 만들 수 있지만 3중 포인터 이상은 딱히 의미가 없다. ■ T형 타입에 대한 T형 포인터를 만들 수 있다. ■ T형 포인터는 하나의 타입으로 인정된다. ■ 즉, T형 포인터에 대한 포인터를 만들 수 있다. ■ 이런식으로 사용할 수 있다. #include using namespace std; int main() { int i = 1234; int* pi = &i; int** ppi = π cout

C(&C++) 이론 18. 포인터 응용

내용 참고 혼자 연구하는 C/C++ (Soen.kr/와우북스) 포인터 응용 ■ 포인터의 기본 개념은 단순한 만큼 파생될 수 있는 내용이 많다. ■ 특히 포인터와 메모리에 대한 내용과 이중 포인터, 포인터 배열, 배열 포인터, 함수 포인터 등이 중요하다. ■ 여기서는 *ptr++ 표현에 대한 내용과 void형 포인터에 대한 내용을 담았다. Ⅰ. *ptr++ ■ 처음보면 당황스러울 수 있는 표현이다. 차근차근 분석해보자. ⅰ. 예제 #include using namespace std; int main() { int ar[] = {1,2,3,4,5}; int arMAX = sizeof(ar)/sizeof(ar[0]); //배열의 이름은 상수 포인터로 배열의 첫번째 요소를 가리키지만, //sizeof() 연산자..

C(&C++) 실습 13. 테트리스 개작

출처 soen.kr #include "Turboc.h" //키 바인딩 #define LEFT 75 #define RIGHT 77 #define UP 72 #define DOWN 80 #define ESC 27 #define PGUP 73 #define PGDN 81 //게임판 좌 상단 좌표와 게임판의 넓이와 높이 #define BX 5 #define BY 1 #define BW 10 #define BH 20 void DrawScreen(); void DrawBoard(); bool ProcessKey(); void PrintBrick(bool show); int GetAround(int x, int y, int b, int r); bool MoveDown(); void TestFull(); void Dr..

C(&C++) 13. 테트리스 주석 추가

출처 soen.kr #include "Turboc.h" //키 바인딩 #define LEFT 75 #define RIGHT 77 #define UP 72 #define DOWN 80 #define ESC 27 //게임판 좌 상단 좌표와 게임판의 넓이와 높이 #define BX 5 #define BY 1 #define BW 10 #define BH 20 void DrawScreen(); void DrawBoard(); bool ProcessKey(); void PrintBrick(bool show); int GetAround(int x, int y, int b, int r); bool MoveDown(); void TestFull(); struct Point { int x, y; }; Point Shape..

C(&C++) 실습 11. 슈팅 게임 일부 수정

출처 soen.kr #include "Turboc.h" //특수키 바인딩 #define ESC27 //MAX값 지정 #define MAXENEMY10 #define MAXBALL20 #define MAXBULLET5 int fx;//조종기의 x좌표 int Score;//점수 //적 구조체 struct Enemy { bool exist; int Type; int x, y; int Delta; int nFrame; int nStay; }; //적 총알 구조체 struct Ball { bool exist; int x, y; int nFrame; int nStay; }; //조종기 총알 구조체 struct Bullet { bool exist; int x, y; }; //적기 종류 const char *arEne..

C(&C++) 실습 10. 슈팅 게임

출처 soen.kr #include "Turboc.h" //특수키 바인딩 #define ESC27 //MAX값 지정 #define MAXENEMY10 #define MAXBALL20 int fx;//조종기의 x좌표 int bx, by;//아군 총알의 x,y좌표 int Score;//점수 //적 구조체 struct Enemy { bool exist; int Type; int x, y; int Delta; int nFrame; int nStay; }; //적 총알 구조체 struct Ball { bool exist; int x, y; int nFrame; int nStay; }; //적기 종류 const char *arEnemy[4] = { "--$--", "ZzTzZ", "oO@Oo", ""}; //키가 ..

반응형