Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #define size 10
- struct struktura{
- int var;
- char znak[size+1];
- };
- int compare(const void* a, const void* b)
- {
- return strcmp(((struct struktura*)a)->znak,((struct struktura*)b)->znak);
- }
- int main(void)
- {
- FILE *fp;
- srand(time(NULL));
- int i,j;
- struct struktura *lol;
- /*Dynamiczna alokacja pamieci*/
- lol=(struct struktura*) malloc(sizeof(struct struktura)*size);
- puts("Przed sortowaniem");
- for(i=0;i<size;i++)
- {
- lol[i].var = (int)rand()%size+1;
- for(j=0;j<lol[i].var;j++)
- {
- lol[i].znak[j] = 'a' + (rand()/(RAND_MAX + 1.0)*('z'-'a'-1));
- lol[i].znak[j+1]= '\0';
- }
- printf("%-3d %-20s\n", lol[i].var, lol[i].znak);
- }
- /*SORTOWANIE*/
- qsort( lol,size,sizeof(struct struktura),compare);
- puts("\n\nPo sortowaniu");
- for(i=0;i<size;i++)
- printf("%-3d %-20s\n", lol[i].var, lol[i].znak);
- /*Zapis do pliku binarnego */
- fp=fopen("dane.bin", "wb");
- if(fp == NULL)
- puts("Nie moge zapisac");
- fwrite(lol,sizeof(struct struktura),size,fp);
- fclose(fp);
- puts("\n\nOdczyt z pliku binarnego");
- fp=fopen("dane.bin", "wb");
- if(fp == NULL)
- puts("Nie moge zapisac");
- fread(lol,sizeof(struct struktura),size,fp);
- for(i=0;i<size;i++)
- printf("%-3d %-20s\n", lol[i].var, lol[i].znak);
- fclose(fp);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement