본문 바로가기

C언어

컴퓨터 프로그래밍 설계 과제#5_HW03 #include #include int FSM_[5][6] = { /* sign digit alfa period special EOS */ /* 상태 0 */{ 2, 1, -19, 3, -10, -12 }, /* 상태 1 */{ -13, 1, -19, 3, -14 , -1 }, /* 상태 2 */{ -15, 1, -19, 3, -14 , -11 }, /* 상태 3 */{ -13, 4, -19, -16, -14 , -11 }, /* 상태 4 */{ -13, 4, -19, -16, -14 , -1 } }; int check_state(int state_num, char input){ int state = 0; int char_state; int input_num = (int)input; if( (input_.. 더보기
컴퓨터 프로그래밍 설계 과제#5_HW02 #include #include #include void p_large_unit(int num); void p_small_unit(int num); void p_han(int num, int num2); int main(void) { char input_num[21]={0,}; int num_data[20]={0,}; int num_data_d2[5][4]={0,}; int num_length=0; scanf("%s", input_num); num_length = strlen(input_num); //printf("숫자의 길이 : %d\n", num_length); //printf("%s\n", input_num); for(int i=0; i 더보기
컴퓨터 프로그래밍 설계 과제#5_HW01 #include #include struct person { char name[50]; char phone[20]; int pay_hour; int work_hour; int total_pay; }; int main(void) { FILE *pfile = NULL; FILE *wfile = NULL; person **p_array = NULL; pfile = fopen("input.txt", "r"); wfile = fopen("output.txt", "w"); int person_num = 0; if(pfile == NULL) { printf("파일을 읽어올 수 없습니다.\n"); exit(0); } else { fscanf(pfile, "%d", &person_num); fflush(stdin); /.. 더보기
컴퓨터 프로그래밍 설계 과제#4_HW03 #include #include #include int validation_data(int tmp_arr[]); int main(void) { int test_case = 0; int data_arr[9][9] = {0,}; int tmp_arr[9] = {0,}; int check_flag = 1; int cnt = 0; scanf("%d", &test_case); for(int case_num=0; case_num < test_case; case_num++) { check_flag = 1; for(int i=0 ;i 더보기
컴퓨터 프로그래밍 설계 과제#4_HW02 #include #include #include int validation_former(char arr[], int a); int validation_latter(char arr[]); int main(void) { int chk_former = 1; int chk_latter = 1; int test_case = 0; scanf("%d", &test_case); fflush(stdin); for(int i=0; i 더보기
컴퓨터 프로그래밍 설계 과제#4_HW01 #include #include #include int main(void) { char **name; char *temp; int test_case, i, j; int check_flag=0; // 1이면 동일한 문자열이 있음, 0이면 없음 scanf("%d", &test_case); fflush(stdin); name = (char **)malloc((test_case)*4); // String의 주소값 배열 할당 //문자 배열 5개씩 동적할당 for (i=0 ; i 더보기
관망해석 프로그램 Hardy-Cross 관망 계산법 Hardy-Cross 관망 계산법을 이용한 프로그램을 만들어봤다. 단순한 재미로 만들었기에 폐합회로가 1개인 경우에 해당하며 무수한 노가다를 방지하기위해 오차범위를 0.001%이 내일 경우 반복문을 종료하는 형태로 프로그램을 만들었다. 더보기
메모리의 동적 할당 ◇ 메모리의 동적 할당 함수의 반환형은 void형 포인터고 인자는 정수가 들어간다. 예시로 int main(void){void * ptr1 = malloc(4); // 4바이트가 힙 영역에 할당void * ptr2 = malloc(12); // 12바이트가 힙 영역에 할당 . . . . free(ptr1); // ptr1이 가리키는 4바이트 메모리 공간 해제free(ptr2); // ptr2이 가리키는 4바이트 메모리 공간 해제 . . . . } 다음과 같은 소스코드에서 malloc함수의 활용을 확인해보자. malloc(4);malloc(12); 함수는 힙 영역위의 메모리 공간에 4바이트 만큼의 공간을 확보하고 확보된 메모리 공간의 주소값을 반환한다. 힙 영역위의 메모리 공간에 12바이트 만큼의 공간을 .. 더보기