분류 전체보기335 3장-2. 2차원 배열과 위치 게임 2차원 배열 전략 게임, 시뮬레이션 게임과 같은 게임들은 '보드'를 사용한다. 위치를 기반으로 한 게임들은 이런 보드를 만들어야 함 이것의 가장 자연스러운 방법이 2차원 배열이다. C++에서 2차원 배열을 선언하는 법 int M[8][10] = {}; 8개의 행과 10개의 열을 만든다. 이를 행렬이라고 부른다. 행렬의 동적 할당과 해제 int** M = new int*[n]; for (int i = 0; i < n; i++) M[i] = new int[m]; // m 크기만큼 배열 동적 할당 // 결과적으로 M[n][m] 크기의 행렬이 만들어진다. for (int i = 0; i < n; i++) { delete M[i]; } delete[] M; 열을 모두 해제하고 최종적인 행렬 M을 해제한다. STL.. 2022. 9. 11. 3장-1. 배열 정렬 정렬이란? 임의로 정렬된 배열의 객체들을 오름차순으로 재배열하는 법 삽입 정렬 첫 번째 원소에서 시작한다. 배열의 다음 원소가 첫 번째 값보다 작다면 바꾼다 (1 2) 세 번째 원소에 대해 비교해보고 작다면 바꾼다. #include using namespace std; void insertionSort(char* A, int n) { for (int i = 1; i A[i] = chArr[0] > chArr[1] while ((j >= 0) && (A[j] > cur)) { A[j + 1] = A[j];// chArr[1] = chArr[0] j--; } .. 2022. 9. 11. 2. 비트 연산으로 절댓값 함수 만들기 비트 연산으로 절댓값 함수 만들기 y = x >> 31 (음수면 1로 채워지고, 양수면 0으로 채워진다.) (x ^ y) - y #include #include using namespace std; typedef unsigned char BYTE; int main() { int t1 = -61; bitset showBit = t1; cout 2022. 9. 11. 1. 기초 - 제일 오른쪽 비트 다루기 1-1. 한 워드의 제일 오른쪽 1비트를 끄는 법 (01011000 -> 01010000) x & (x - 1) #include #include using namespace std; typedef char BYTE; int main() { BYTE b = 0b00001001; // 9 bitset showBit = b; cout 2022. 9. 10. 이전 1 ··· 76 77 78 79 80 81 82 ··· 84 다음