본문 바로가기

Programming399

백준 1987 알파벳 #include #include #include using namespace std;int dx[] = { 0, 0, 1, -1 };int dy[] = { 1, -1, 0, 0 };int go(vector &board, vector &check, int x, int y) {int ans = 0;for (int k = 0; k= 0 && nx = 0 && ny < board[0].size()) {if (check[board[nx][ny] - 'A'] == false) {check[board[nx][ny] - 'A'] = true;int next = go(board, check, nx, ny);if (ans < next) {ans = next;}check[board[n.. 2017. 10. 20.
linux hader file path vc++includevc folder include folder" " includeexe file directory, system directory, search order fixed linux include rtc.hinlcude path #include "..." search starts here#include search starts here/usr/local/include/usr/lib/gcc/x86_64-linux-gnu/4.4.3/include/usr/lib/gcc/x86_64-linux-gnu/4.4.3/include-fixed/usr/include 2017. 10. 18.
visual studio 정적 라이브러리 lib 추가 방법 1. header (*.h) 디렉토리 추가 : C/C++ -> General -> Additional Include Directories 2. lib 등 빌드된 라이브러리 바이너리 디렉토리 추가Linker -> General -> Additional Library Directories 3. lib 파일 지정 : 파일명을 적는다.Linker -> Input -> Additional Dependencies 출처: http://scripter.co.kr/294 [superAction] 표준 헤더 파일 위치 찾기https://m.blog.naver.com/PostView.nhn?blogId=jwj981417&logNo=220128463336&proxyReferer=https%3A%2F%2Fwww.google.c.. 2017. 10. 18.
Breadth First Search BFS #include int n;int rear, front;int map[30][30], queue[30], visit[30]; void BFS(int v) {int i;visit[v] = 1; printf("%d start\n", v);queue[rear++] = v;while (front < rear) {v = queue[front++];for (int i = 1; i 2017. 10. 18.
Binary Search / Breadth First Search / Depth First Search Binary Search #include using namespace std; int BinarySearch(int dataArr[], int size, int findData) {int low = 0, high = size - 1, mid;while (low findData) high = mid - 1;else if (dataArr[mid] < findData) low = mid + 1;else return mid;}return -1;} int main(){int dataArr[] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,24 };int length = sizeof(dataArr) / sizeof(dataArr[0]);int input, r.. 2017. 10. 18.
Function Template / Function template #include using namespace std; templatevoid Swap(T& num1, T& num2){T temp = num1;num1 = num2;num2 = temp;} int main(){int num1 = 10, num2 = 40;cout 2017. 10. 18.
Struct #pragma warning(disable:4996) #include #include char copy_str(char *dest, char *src); struct Books {char name[30];char auth[30];char publ[30];int isborrowed;}; int main() {struct Books Harry_Potter; copy_str(Harry_Potter.name, "Harry Potter");copy_str(Harry_Potter.auth, "J.K Rolling");copy_str(Harry_Potter.publ, "Scholastic");Harry_Potter.isborrowed = 0; printf("Book name: %s\n", Harry_Potter.na.. 2017. 10. 18.
Function pointer 특정 변수에 대한 메모리 주소를 담을 수 있는 변수를 포인터 변수,특정 함수에 대한 메모리 주소를 담을 수 있는 변수를 함수 포인터. 프로그램 코드가 간결해집니다.중복되는 코드를 줄일 수 있습니다.상황에 따른 함수를 호출할 수 있습니다. int (*FuncPtr)(int, int) int add(int first, int second)1. FuncPtr = add2. FuncPtr = &add #include #include typedef int(*calcFuncPtr)(int, int); int plus(int first, int second){return first + second;} int minus(int first, int second){return first - second;} int calc.. 2017. 10. 18.
.so Library // mymath.h #include extern int sum(int n1, int n2); // mymath.c #include "mymath.h" int sum(int n1, int n2) { return n1 + n2; } //main.c #include "mymath.h"#include #include #include #include int main(int argc, char **argv){void *handle = NULL;int(*result)(int, int); handle = dlopen("./libmymath.so", RTLD_NOW); if(!handle){printf("fail to dlopen, %s\\n", dlerror());return 0;} result = dlsym(han.. 2017. 10. 17.
opencv mouseevent #include "opencv.hpp"using namespace cv;using namespace std;void onMouse(int event, int x, int y, int flags, void* param);int main(){Mat dstImage(512, 512, CV_8UC3, Scalar(255, 255, 255)); imshow("dstImage", dstImage);setMouseCallback("dstImage", onMouse, (void *)&dstImage); waitKey(); return 0;}void onMouse(int event, int x, int y, int flags, void* param){Mat *pMat = (Mat *)param;Mat image = Ma.. 2017. 9. 5.