Advertisement
bkit4s0

[doc ghi file] 10000 so nguyen su dung insertion sort

Dec 20th, 2014
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.42 KB | None | 0 0
  1. #include<stdio.h>
  2. #include<stdlib.h>
  3. #define MAX 10000
  4. #define in "in.txt"
  5. #define out "out.txt"
  6. void insertionsort(int a[], int n)
  7. {
  8.         int i,j,key;
  9.         for (int j = 1; j < n; ++j)
  10.         {
  11.                 key = a[j];
  12.                 i = j -1;
  13.                 while(i>=0&&a[i]>key)
  14.                 {
  15.                         a[i+1] = a[i];
  16.                         i = i-1;
  17.                 }
  18.                 a[i+1] = key;
  19.         }
  20. }
  21. void GhiFileSoNguyen(int n)
  22. {
  23.     FILE *f;
  24.     f = fopen(in,"wt");
  25.     if(f==NULL)
  26.     {
  27.         printf("Khong tao duoc file\n");
  28.         //getch();
  29.         exit(0);
  30.     }
  31.     for (int i = 0; i < n; ++i)
  32.     {
  33.         fprintf(f, "%d ", rand()%10000);
  34.     }
  35.     fprintf(f, "\n" );
  36.     fclose(f);
  37. }
  38. void GhiFile(int a[MAX], int n)
  39. {
  40.     FILE *f;
  41.     f = fopen(out,"wt");
  42.     if(f==NULL)
  43.     {
  44.         printf("Khong tao duoc file\n");
  45.         //getch();
  46.         exit(0);
  47.     }
  48.     for (int i = 0; i < n; ++i)
  49.     {
  50.         fprintf(f, "%d\n", a[i]);  
  51.     }
  52.     fprintf(f, "\n" );
  53.     fclose(f);
  54. }
  55. void DocFile(int a[MAX], int n)
  56. {
  57.     FILE *f;
  58.     f = fopen(in,"rt");
  59.     if(f==NULL)
  60.     {
  61.         printf("Khong doc duoc file\n");
  62.         //getch();
  63.         exit(0);
  64.     }
  65.     for (int i = 0; i < n; ++i)
  66.     {
  67.         fscanf(f, "%d\l", &a[i]);
  68.     }
  69.     fclose(f);
  70. }
  71. int main(int argc, char const *argv[])
  72. {
  73.     int a[MAX];
  74.     GhiFileSoNguyen(10000);
  75.     DocFile(a,10000);
  76.     insertionsort(a,10000);
  77.     GhiFile(a,10000);
  78.     for(int i=0; i<10000; i++)
  79.         printf("%d\n",a[i]);
  80.     system("pause");
  81.     return 0;
  82. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement