본문 바로가기

전체 글93

최솟값과 최댓값(함수) #2019-08-21 #include int a, b, c, d; int f(int p, int q){ return pq?p:q;} int main() { scanf("%d %d %d %d", &a, &b, &c, &d); printf("%d %d\n", f(f(a,b),f(c,d)), g(g(a,b),g(c,d))); } /* 5 -7 -2 3 -7 5 -------------------------------- Process exited after 5.366 seconds with return value 0 계속하려면 아무 키나 누르십시오 . . . */ 2019. 8. 21.
두 점의 중점(함수) #2019-08-21 #include struct point { float x; float y;}; point f(point p, point q) { point t; t.x=(p.x+q.x)/2; t.y=(p.y+q.y)/2; return t; } int main() { point a, b, t; scanf("%f %f", &a.x, &a.y); scanf("%f %f", &b.x, &b.y); t=f(a, b); printf("%.3f %.3f\n", t.x, t.y); } /* 3.1 1.4 4.1 1.5 3.600 1.450 -------------------------------- Process exited after 15.35 seconds with return value 0 계속하려면 아무 키.. 2019. 8. 21.
행렬을 이용한 BFS #2019-08-20 #include int n; // 정점의 최댓값 int rear, front; // 앞쪽과 뒤쪽을 나티내는 변수 int map[30][30]; // 인접 행렬 int queue[30]; // 큐 int visit[30]; // 방문 여부를 나타내는 배열 void BFS(int v) { int i; visit[v] = 1; //정점 v를 방문했다고 표시 printf("%d에서 시작\n",v); queue[rear++] = v; // 큐에 v를 삽입하고 뒤쪽을 1증가시킴 while (front < rear) { // 뒤쪽이 앞쪽과 같거나 작으면 루프 탈출 // 큐의 첫번째에 있는 데이터를 제외된 값을 가져오며 앞쪽 1증가 v = queue[front++]; for (i=1; i 2019. 8. 20.
연결리스트 깊이 탐색 #include #include #define MAX_VERTICES 8 // 노드 최고 개수 8 #define FALSE 0 #define TRUE 1 typedef struct node *node_point; typedef struct node { int vertex; // 번호 node_point link; }; node_point graph[MAX_VERTICES]; short int visited[MAX_VERTICES]; // 방문기록-배열 node_point createnode (int data); void dfs (int vertex); // DFS함수 선언 int main() { graph[0] = createnode(1); graph[0]->link = createnode(2); gra.. 2019. 8. 16.
별 찍기 #include int n; void f(int k) { for(int i=1; i 2019. 8. 14.