#include #include #include #define FILE_NAME "random_print.txt" /* Äü ¼ÒÆ® */ void quick_sort(int a[], int n) { int v, t; int i, j; if( n > 1) { v = a[n-1]; i = -1; j = n - 1; while(1) { while(a[++i] < v); while(a[--j] > v); if(i >= j) break; t = a[i]; a[i] = a[j]; a[j] = t; } t = a[i]; a[i] = a[n-1]; a[n-1] = t; quick_sort(a, i); quick_sort(a+i+1, n-i-1); } } void main(void) { int i; int a[100]; FILE *src, *dest; if((src = fopen(FILE_NAME, "wt")) == NULL){ printf("\nERROR : file not created! %s", FILE_NAME); exit(1); } /* ³­¼ö ÇÔ¼ö ºÎºÐ */ srand((unsigned)time(NULL)); /* ³­¼öÀÇ ½ÃÀÛ°ªÀ» ¹Ù²Þ */ printf("one hundred random numbers from 0 to 99\n\n"); for(i=0; i<100; i++) { fprintf(src, "%5d", rand() % 1000); /* random_print.txt ¿¡ Ãâ·Â */ } /* ¿©±â¼­ Àǹ®Á¡ ¹ß»ý. ÀÌ ¹Ø¿¡ º¸ÀÌ´Â FILE_NAME À§Ä¡¿¡ ÀÓÀÇÀÇ "123.txt"¶õ ÆÄÀÏÀ» ¸¸µé¾î¼­ ÄÄÆÄÀÏ ½ÃÄ×À» °æ¿ì´Â ¼ÒÆ®°¡ Àß µÇ¾ú´Ù. °á±¹, ¾Æ·¡¿¡ º¸ÀÌ´Â fscanf´Â FILE_NAME¿¡¼­ intÇü ÀڷḦ ÀÐÁö ¸øÇß´Ù´Â ¼Ò¸®°¡ µÈ´Ù.(-82124124 ÀÌ·± ½ÄÀ¸·Î ³ª¿È) ±×·¡¼­ ¾Æ·¡ÀÇ ³­¼ö¸¦ ÇÔ¼ö·Î ¸¸µé¾î¼­ È£Ãâ ½ÃÄѺ¸¾Ò´Âµ¥, ±×°Ç Àß µÇ¾ú´Ù. (¾Æ·¡¿¡ ±× ¼Ò½º¸¦ Àû¾î³ù½À´Ï´Ù) ¾Æ¸¶µµ ³­¼ö ÇÔ¼ö¸¦ ¸¸µé¾î FILE_NAME¿¡ ÀúÀå½ÃŰ´Â ¼ø°£°ú, ±× ÆÄÀÏÀ» ÀоîµéÀÌ´Â ¼ø°£ÀÌ µ¿½Ã¿¡? ÀÌ·ç¾îÁö´Âµí ½Í´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¿Ö FILE_NAME¿¡ ÀúÀåµÈ ³­¼ö ÇÔ¼ö¸¦ fscanf ÇÔ¼ö°¡ ÀÐÁö ¸øÇÑ´Ü ¸»Àΰ¡? À̰ÍÀÌ »ç½ÇÀÎÁö ¾Ë¾Æº¸¾Æ¾ß ÇÒ °ÍÀÌ´Ù. */ if((dest = fopen(FILE_NAME, "rt")) == NULL){ printf("\nERROR : file not found! %s", FILE_NAME); exit(1); } for(i=0; i<100; i++) { fscanf(dest, "%5d", &a[i]); } quick_sort(a, 100); /* quick_sort ÇÔ¼ö È£Ãâ */ for(i=0; i<100; i++){ printf("\n%d", a[i]); } fclose(src); fclose(dest); } /* ¾Æ·¡ÀÇ ¼Ò½º´Â randomÀ» ÇÔ¼ö Çü½ÄÀ¸·Î È£ÃâÇÏ¿´À» °æ¿ì. ¾Æ·¡ÀÇ °æ¿ì¿£ ½ÇÇàÀÌ Àß µÊ ¹°·Ð ¾Æ·¡¿Í °°Àº °æ¿ì ¸»°íµµ, ´Ù¸¥ ¹æ¹ýÀ¸·Î ÀÌ ¼Ò½º¸¦ ½ÇÇà ½Ãų ¼ö ÀÖ´Ù´Â °É ¾Ë¾Æ³Â½À´Ï¸¸, Á¦°¡ ¾Ë°í ½ÍÀº°Ç, À§ÀÇ ¹æ¹ýÀº ¿Ö ¾²·¹±â °ªÀ» ³ª¿À°Ô ¸¸µå´À³Ä ÀÔ´Ï´Ù. Á¦ »ó½Ä¿¡¼±, Àß µÇ¾ßÇÒ °Í °°°Åµç¿ä... #include #include #include #define FILE_NAME "random_print.txt" void quick_sort(int a[], int n) { int v, t; int i, j; if( n > 1) { v = a[n-1]; i = -1; j = n - 1; while(1) { while(a[++i] < v); while(a[--j] > v); if(i >= j) break; t = a[i]; a[i] = a[j]; a[j] = t; } t = a[i]; a[i] = a[n-1]; a[n-1] = t; quick_sort(a, i); quick_sort(a+i+1, n-i-1); } } void random(int n) { int i; FILE *src; if((src = fopen(FILE_NAME, "wt")) == NULL){ printf("\nERROR : file not created! %s", FILE_NAME); exit(1); } srand((unsigned)time(NULL)); printf("one hundred random numbers from 0 to 99\n\n"); for(i=0; i