Advertisement
Patresss

Untitled

Jun 17th, 2014
502
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #define size 10
  5. struct struktura{
  6.     int var;
  7.     char znak[size+1];
  8.     };
  9.  
  10.  
  11. int compare(const void* a, const void* b)
  12. {
  13.         return strcmp(((struct struktura*)a)->znak,((struct struktura*)b)->znak);
  14. }
  15.  
  16. int main(void)
  17. {
  18. FILE *fp;
  19. srand(time(NULL));
  20. int i,j;
  21.  
  22.  
  23. struct struktura *lol;
  24.  
  25. /*Dynamiczna alokacja pamieci*/
  26. lol=(struct struktura*) malloc(sizeof(struct struktura)*size);
  27.  
  28. puts("Przed sortowaniem");
  29. for(i=0;i<size;i++)
  30. {
  31.     lol[i].var  = (int)rand()%size+1;
  32.     for(j=0;j<lol[i].var;j++)
  33. {  
  34.     lol[i].znak[j] = 'a' + (rand()/(RAND_MAX + 1.0)*('z'-'a'-1));
  35.     lol[i].znak[j+1]= '\0';
  36. }
  37. printf("%-3d     %-20s\n", lol[i].var, lol[i].znak);
  38. }
  39.  
  40. /*SORTOWANIE*/
  41. qsort( lol,size,sizeof(struct struktura),compare);
  42.  
  43. puts("\n\nPo sortowaniu");
  44.  
  45. for(i=0;i<size;i++)
  46. printf("%-3d     %-20s\n", lol[i].var, lol[i].znak);
  47.  
  48. /*Zapis do pliku binarnego */
  49. fp=fopen("dane.bin", "wb");
  50. if(fp == NULL)
  51.     puts("Nie moge zapisac");
  52. fwrite(lol,sizeof(struct struktura),size,fp);
  53. fclose(fp);
  54.  
  55. puts("\n\nOdczyt z pliku binarnego");
  56.  
  57. fp=fopen("dane.bin", "wb");
  58. if(fp == NULL)
  59.     puts("Nie moge zapisac");
  60. fread(lol,sizeof(struct struktura),size,fp);
  61. for(i=0;i<size;i++)
  62. printf("%-3d     %-20s\n", lol[i].var, lol[i].znak);
  63. fclose(fp);
  64.  
  65.  
  66.  
  67.  
  68. return 0;
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement