본문 바로가기

분류 전체보기

라즈베리 파이(raspberry PI) - 라즈비안에서 유선랜(eth0) 설정하기 더보기
입력한 수의 회문 구하기 회문이란 뒤집어도 같은 수를 의미한다. ex) 121 , 545 ... int reverse_number( int); int main( void){int number= 0;scanf( "%d", &number); while( number != ( rvs_num = reverse_number( number))){printf( "%d + %d = %d\n", number, rvs_num, number + rvs_num); number += rvs_num;} return 0;} int reverse_number( int n){int num = 0; for(; n > 0 ; n /= 10){num *= 10; num += n % 10;} return num;} 더보기
파스칼 삼각형 출력하기 #define MAX 100 int main(void) {int arry[MAX][MAX] = {0, };int count = 1;int r = 0;scanf( "%d", &number); for( c = 0 ; c < number ; c ++){for( r = 0 ; r 더보기
재귀함수(recursive function)을 이용한 순차적 수 출력 void rec_func( int); int main( void){int number= 0;scanf( "%d", &number); rec_func( number); } void rec_func( int n){if( n == 0) return;rec_func( n-1);printf( "%3d", n);} 더보기
입력한 수가 소수(prime number)인지 판단하는 프로그램 int check_prime( int); int main( void){int number= 0;scanf( "%d", &number); if( check_prime( number)){printf( "That's prime number\n");}else{printf( "NOT prime number\n");}} int check_prime( int n){int c = 0; for( c = 2 ; c 더보기
조건문(switch~case)만 이용한 점수에 따른 학점 출력 Switch~case만을 사용해서 0~100 점 사이의 점수를 입력받아 해당하는 점수의 학점을 출력하는 프로그램이다. 그 외의 점수 입력시 에러 출력 int main( void){int number= 0;int c= 0;int sum= 0;intrvs_num= 0; scanf( "%d", &number); switch( number 0){case 0: printf("error!\n"); break;default :switch( number / 10){case 10:case 9: printf("A\n"); break;case 8: printf("B\n"); break;case 7: printf("C\n"); break;case 6: printf("D\n"); break;default : printf("F\.. 더보기
임의의 난수를 생성하는 동시에 배열에 정렬 #include #include #define MAX10 int main( void){int arry[ MAX] = {0, };int cnt = 0, fn = 0;int key = 0, temp = 0; srand( ( unsigned)time( 0)); printf("program start\n");printf("before sorting > "); for( cnt = 0 ; cnt = 0 ; fn --){if( arry[ fn] > arry[ cnt]){key = fn;}} temp = arry[ cnt]; for( .. 더보기
두 개의 쓰레드를 활용한 병합정렬(merge sorting) #include #include #include #include #include #include #define CHECK_END -1 static int *array = NULL;static pthread_t tid[2]; static void div_array(int *, int, int, unsigned int);static void merge_sort(int *, unsigned int); void *left_sort(void *size){int s = *((int *)size);int middle = s/2; div_array(array, 0, middle, (unsigned int)tid[0]);} void *right_sort(void *size){int s = *((int *)size);in.. 더보기
단일 쓰레드 병합 정렬(Merge sorting) #include #include #include #include #include #define CHECK_END -1 static int *array = NULL; static void div_array(int *, int, int);static void merge_sort(int *); static void init_array(int size){int count = 0; array = (int*)malloc(sizeof(int) * size); for(count = 0 ; count < size ; count ++){array[count] = rand()%size + 1;}} static void display_array(int size){int count = 0; for(count = 0 ; coun.. 더보기
툴체인(Toolchain)이란? 툴체인(Toolchain)의 설명에 앞서 툴체인의 필요 목적에 대해서 알아보자. [ 그림 1 ] Host and Target System 임베디드 시스템을 개발을 위해서는 대부분 [ 그림 1 ]처럼 호스트 시스템(Host System)과 타겟 시스템(Target System)으로 구성된다. 호스트 시스템은 실질적인 임베디드 시스템을 개발하는 환경으로, 이는 임베디드 시스템의 하드웨어의 제한적인 성능 때문에 큰 용량의 저장장치를 가지고 있지 않기 때문이다. 그래서 상대적으로 성능이 좋은 호스트 시스템을 구축하여 타겟 시스템에서 동작 가능한 프로그램을 만드는데 이것을 교차 컴파일(Cross compile)이라고 한다. 여기서 타겟 시스템이란 실질적인 임베디드 시스템이 동작되는 환경을 말한다. 툴체인(Tool.. 더보기