본문 바로가기

Programming Skill

[System Programming] TCP/IP를 이용한 채팅 프로그램 작업 환경 - OS : Ubuntu 14.04.5 LTS 64bit - Editor : vi - Compile : gcc 프로젝트 소개 - 다대다 메신져가 가능한 채팅 프로그램 구현기능 1. TCP/IP을 이용한 채팅 프로그램 2. 멀티 쓰레드를 이용하여 각 PORT로 채팅방 구분 3. 귓속말의 경우 /w ID 내용 형식으로 원하는 사용자에게 귓속말 채팅 기능 추가4. 파일전송의 경우 /f 파일이름 형식으로 open()을 이용해 파일전송 기능 추가5. 뮤텍스를 이용하여 쓰레드들이 running time동안 쓰레드를 동기화 시켜 서로 충돌나지 않게 방지 my.h #include #include #include #include #include #include #include #include #include .. 더보기
[알고리즘] 삽입정렬(Insertion Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 삽입정렬이란?- 정렬 대상을 두 부분으로 나눠서 정렬 안 된 부분에 있는 데이터를 정렬 된 부분의 특정 위치에 삽입해 가면서 정렬하는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 삽입정렬을 이용하여 오름차순으로 정렬하시오. insert_sort.c#include void InsertSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); InsertSort(arr , cnt); for(i=0 ; i data)arr[j+1] = arr[j];elsebreak;} arr[j+1].. 더보기
[알고리즘] 선택정렬(Selection Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 선택정렬이란?- 정렬순서에 맞게 하나씩 선택해서 옮기며, 옮기면서 정렬되는 알고리즘 그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 선택정렬을 이용하여 오름차순으로 정렬하시오. select_sort.c#include void SelectSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); SelectSort(arr , cnt); for(i=0 ; i 더보기
[알고리즘] 버블정렬(Bubble Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 버블정렬이란?- 인접한 두 개의 데이터를 비교해가면서 정렬하는 알고리즘그림 참조 - 윤성우의 열혈 자료구조 문제배열에 3,1,5,4,2를 저장하고 버블정렬을 이용하여 오름차순으로 정렬하시오. bubble_sort.c#include void BubbleSort(int *arr , int cnt); int main(){int arr[5] = {3,1,5,4,2};int i , cnt; cnt = sizeof(arr) / sizeof(int); BubbleSort(arr , cnt); for(i=0 ; i 더보기
[알고리즘] 간접정렬(Indirect Sort) 작업 환경- OS : Ubuntu 14.04.5 LTS 간접정렬이란?- 인덱스 기법이라고도 하며 레코드 배열에서 데이터를 정렬하는 것이 아니라 인덱스 배열을 따로 만들어 정렬하는 기법- 교환횟수가 많은 삽입정렬의 단점을 보완했으며, 간단한 정수를 정렬할 때 주로 사용 문제배열에 10,2,9,1,4,8,6,7,5,3 값 10개를 넣은뒤 간접정렬을 사용하여 출력하시오. indirect_sort.c#include int main(){int i, j, cnt;char buf[10] = { 10, 2, 9, 1, 4, 8, 6, 7, 5, 3 };char index[10]; for (i = 0; i 더보기
[자료구조] 이중연결리스트를 이용한 전화번호 관리 프로그램 작업 환경- OS : Ubuntu 14.04.5 LTS 문제전화번호부를 이중연결리스트로 완성하시오. (단 등록은 두가지 방법으로 만드시오.)1) 등록(FIFO , LIFO)2) 출력3) 검색4) 수정5) 삭제 my.h#include #include #include #include "list.h" list.h#ifndef __LIST_H__#define __LIST_H__ #define MAX_NAME30#define MAX_NUMBER20 typedef struct Data{char name[MAX_NAME];char pnumber[MAX_NUMBER];}Data; typedef struct Node{Data *data;struct Node *next;struct Node *prev;}Node; type.. 더보기
[OpenCV] 우분투(Ubuntu) 14.04.5 LTS에 OpenCV 설치 우분투(Ubuntu) 14.04.5 LTS에 OpenCV 설치 작업환경우분투 - 14.04.5 LTSOpenCV - 2.4.13 터미널 창을 열고 다음 명령을 실행한다. pakage 목록 업데이트- sudo apt-get update ffmpeg 설치- sudo add-apt-repository ppa:mc3man/trusty-media- sudo apt-get update- sudo apt-get dist-upgrade- sudo apt-get install ffmpeg- sudo apt-get install libopencv-dev build-essential checkinstall cmake pkg-config yasm libtiff4-dev libjpeg-dev libjasper-dev libav.. 더보기