목록Home (246)
without haste but without rest
#include srand(time(NULL)) srand(time(NULL)) 해당 함수를 사용해야 랜덤 난수 생성이 가능해진다. 없으면 난수 생성이 아닌, 매번 같은 수를 생성한다. 즉 위 코드가 없으면 rand() 함수를 써도 계속 같은 수가 생성된다. https://stackoverflow.com/questions/52801380/srandtimenull-function srand(time(NULL)) function #include #include int main( void){ int x = rand()%100; printf("%d\n", x); return 0; } The code above generates a random number correctly. Is this cor... stack..
sqlite3 라이브러리 메커니즘 1. 파일 연결 ( sqlite3.connect() ) 2. 커서 객체 생성 ( conn.cursor() ) 3. 커서 객체로 작업 ( conn.execute() ) 4. 데이터 인출 (fetchall() ) // 옵션 따라서 fetch 시리즈가 있는 듯 import sqlite3 sqlite_file = './data/boston.db' # connecting to the database file conn = sqlite3.connect(sqlite_file) # initialize a cursor obect cur = conn.cursor() # define a traversing search cur.execute("SELECT * FROM boston LIMIT 5..
후위 표기 계산 main (기본 코드) #include "stack.h" #include #include int eval(char* value) { int n = strlen(value); int v1, v2; char ch; stackType s; init_stack(&s); for (int i = 0; i < n; i++) { ch = value[i]; if (ch != '+' && ch != '-' && ch != '/' && ch != '*') { ch = ch - '0'; // atoi push(&s, ch); } else { v2 = pop(&s); v1 = pop(&s); switch (ch) { case '+': push(&s, v1 + v2); break; case '-': push(&s..
괄호 매칭 main #include "stack.h" #include #include int check_matching(const char* input) { int i, n = strlen(input); char ch, open_ch; stackType s; init_stack(&s); print_stack(&s, input); for (i = 0; i < n; i++) { ch = input[i]; switch (ch) { case '(': case '{': case '[': push(&s, ch); print_stack(&s, input + (i + 1)); // * input + (i + 1) 은 input[i] 이후의 문자를 모두 출력 break; case ')': case '}': case ']..
미로 문제 main #include #include #include "stack.h" #define WALL '1' #define ROAD '0' #define PATH '#' #define GOAL 'G' #define VISITED '.' #define MAX_SIZE 20 char maze[MAX_SIZE][MAX_SIZE]; int maze_size = 0; void init_maze() { printf("Maze Size >> "); scanf_s("%d", &maze_size); for (int i = 0; i < maze_size; i++) { printf("%d행: ", i); scanf_s("%s", &maze[i], sizeof(char) * maze_size + 1); } } void..
동적 배열 스택 #include #include /* 동적 배열 스택 완성 코드 추가 1. void delete_stack 2. void print_stack 3. 구조체를 포인터로 선언 */ typedef int element; // element is data tpye of stack, it is easy to adjust code typedef struct { element* stack; int top; int capacity; } stackType; void init_stack(stackType* s); int is_full(stackType* s); int is_empty(stackType* s); void push(stackType*, element item); element pop(stack..
구조체를 활용하는 스택 #include #include #define MAX_SIZE 5 /* 구조체를 활용한 배열 스택 단점 1. 배열의 크기를 변경할 수 없다. 2. 메모리 사용측면에서 비효율적이다. 해결 방법 1. 동적 배열 스택 */ typedef int element; // element is data tpye of stack, it is easy to adjust code typedef struct { element data[MAX_SIZE]; int top; } stackType; void init_stack(stackType* s); int is_full(stackType* s); int is_empty(stackType* s); void push(stackType* s, element i..
전역변수를 사용하는 스택 #include #include #define MAX_SIZE 5 /* 전역 변수를 사용하는 배열 스택 단점 1. 전역 변수를 많이 사용한다. 해결 방법 1. 구조체를 활용해서 전역 변수 사용을 줄인다. */ typedef int element; // element is data tpye of stack, it is easy to adjust code element stack[MAX_SIZE]; int top = -1; int is_full(); int is_empty(); void push(element item); element pop(); element peek(); int main(void) { for (int i = 1; i