*도*
Bronze개인
팔로워0 팔로우
소개
등록된 소개글이 없습니다.
전문분야 등록된 전문분야가 없습니다.
판매자 정보
학교정보
입력된 정보가 없습니다.
직장정보
입력된 정보가 없습니다.
자격증
  • 입력된 정보가 없습니다.
판매지수
전체자료 1
검색어 입력폼
  • C언어 프로그래밍 텍스트 파일처리를 통한 선형탐색 및 선택정렬과 이진탐색 구현
    #include #include #include #include #define MAX 500 // 양수 최대 갯수int* Data;int* SData;void write_data(); // data.txt 쓰기void read_data(); // data.txt 불러오기(Data 배열)void linear_search_data(); // data(Data 배열 선형탐색)void select_sort_data(); // Data 선택정렬void write_sorted(); // Sorted.txt 쓰기void read_sorted(); // Sorted.txt 불러오기(SData 배열)void binary_search(); // SData 배열 이진 탐색int binary_search_sdata(int key); // SData 배열 이진탐색 구현 함수int main(){Data = (int*)malloc(sizeof(int) * MAX);memset(Data, 0, sizeof(int)*MAX);SData = (int*)malloc(sizeof(int) * MAX);memset(SData, 0, sizeof(int)*MAX);write_data();printf("n");read_data();printf("n");linear_search_data();printf("n");select_sort_data();printf("n");read_sorted();printf("n");binary_search();printf("n");return 0;}void write_data(){int count = 0;char* token;char* input;int check = 0; // 0 -> not found / 1 -> foundFILE* fp_data = fopen("data.txt", "w+");srand((unsigned int)time(NULL));token = (char*)malloc(sizeof(char) * 10);memset(token, 0, sizeof(char) * 10);input = (char*)malloc(sizeof(char) * 10);memset(input, 0, sizeof(char) * 10);printf("data.txt 쓰기중...n");fseek(fp_data, 0, SEEK_SET);while (count < MAX){itoa(((rand() % 10000) + 1), input, 10); // input : 1 ~ 10000while (fscanf(fp_data, "%s", token) != EOF){if (input == token)if (strcmp(input, token) == 0){check = 1; // found in data.txtbreak;}}memset(token, 0, sizeof(char) * 10);if (check == 0) // if not found in data.txt{fprintf(fp_data, "%s ", input);check = 0;memset(input, 0, sizeof(char) * 10);fseek(fp_data, 0, SEEK_SET);count++;}else if (check == 1) // if found in data.txt{fseek(fp_data, 0, SEEK_SET);check = 0;}}printf("data.txt 쓰기 완료...(%d)n", count);fclose(fp_data);free(token);free(input);return;}void read_data(){char* token;int i = 0;FILE* fp_data = fopen("data.txt", "r");token = (char*)malloc(sizeof(char) * 10);memset(token, 0, sizeof(char) * 10);printf("data.txt 읽는중...n");while (fscanf(fp_data, "%s", token) != EOF){Data[i] = atoi(token);memset(token, 0, sizeof(char) * 10);i++;}printf("data.txt 읽기 완료(%d)n", i);free(token);fclose(fp_data);return;}void linear_search_data(){int key = 0;int i = 0;printf("n검색할 수 입력 (종료 : -1) : ");scanf("%d", &key);getchar();while (key != -1){for (i = 0; i < MAX; i++){if (key == Data[i]){printf("%d는 %d번째에 있습니다.nn", key, i + 1);break;}}if (i == MAX)printf("%d는 존재하지 않습니다.nn", key);printf("n검색할 수 입력 (종료 : -1) : ");scanf("%d", &key);getchar();}return;}void select_sort_data(){int i = 0;int j = 0;int temp = 0;int count = 0;printf("선택 정렬 시작...n");for (i = 0; i < MAX - 1; i++){for (j = i + 1; j < MAX; j++){if (Data[i] > Data[j]){temp = Data[i];Data[i] = Data[j];Data[j] = temp;}count++;}count++;}printf("선택 정렬 완료...(%d)nn", count);write_sorted();return;}void write_sorted(){int i = 0;int count = 0;char* token;FILE* fp_sorted = fopen("sorted.txt", "w+");token = (char*)malloc(sizeof(char) * 10);memset(token, 0, sizeof(char) * 10);printf("sorted.txt 쓰기중...n");for (i = 0; i < MAX; i++){itoa(Data[i], token, 10);fprintf(fp_sorted, "%sn", token);memset(token, 0, sizeof(char) * 10);count++;}printf("sorted.txt 쓰기 완료...(%d)n", count);fclose(fp_sorted);return 0;}void read_sorted(){char* token;int i = 0;FILE* fp_sorted = fopen("sorted.txt", "r");token = (char*)malloc(sizeof(char) * 10);memset(token, 0, sizeof(char) * 10);printf("sorted.txt 읽는중...n");while (fscanf(fp_sorted, "%s", token) != EOF){SData[i] = atoi(token);memset(token, 0, sizeof(char) * 10);i++;}printf("sorted.txt 읽기 완료(%d)n", i);free(token);fclose(fp_sorted);return;}void binary_search(){int key = 0;int index = 0;printf("n검색할 수 입력 (종료 : -1) : ");scanf("%d", &key);getchar();while (key != -1){index = binary_search_sdata(key, 0, MAX - 1);if (index != -1)printf("%d는 %d번째에 있습니다.nn", key, index+1);elseprintf("%d는 존재하지 않습니다.nn", key);printf("n검색할 수 입력 (종료 : -1) : ");scanf("%d", &key);getchar();}return;}int binary_search_sdata(int key){int L = 0;int M = 0;int R = MAX - 1;while (L key)R = M - 1;else if (SData[M] < key)L = M + 1;}return -1;}
    프로그램소스| 2016.11.14| 1,000원| 조회(198)
    미리보기
전체보기
해캠 AI 챗봇과 대화하기
챗봇으로 간편하게 상담해보세요.
2026년 05월 18일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
9:09 오후
문서 초안을 생성해주는 EasyAI
안녕하세요 해피캠퍼스의 20년의 운영 노하우를 이용하여 당신만의 초안을 만들어주는 EasyAI 입니다.
저는 아래와 같이 작업을 도와드립니다.
- 주제만 입력하면 AI가 방대한 정보를 재가공하여, 최적의 목차와 내용을 자동으로 만들어 드립니다.
- 장문의 콘텐츠를 쉽고 빠르게 작성해 드립니다.
- 스토어에서 무료 이용권를 계정별로 1회 발급 받을 수 있습니다. 지금 바로 체험해 보세요!
이런 주제들을 입력해 보세요.
- 유아에게 적합한 문학작품의 기준과 특성
- 한국인의 가치관 중에서 정신적 가치관을 이루는 것들을 문화적 문법으로 정리하고, 현대한국사회에서 일어나는 사건과 사고를 비교하여 자신의 의견으로 기술하세요
- 작별인사 독후감