Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
- #include <ctype.h>
- struct person
- {
- char name[30];
- int age;
- };
- int hasonlit (const void *p1, const void*p2)
- {
- struct person pers_1 = *(const struct person *)p1;
- struct person pers_2 = *(const struct person *)p2;
- if (pers_1.age > pers_2.age)
- return -1;
- if (pers_1.age < pers_2.age)
- return 1;
- if (pers_1.age == pers_2.age)
- return strcmp(pers_1.name, pers_2.name);
- }
- struct person *foo(char *fajlnev, int kor)
- {
- FILE *f = fopen (fajlnev, "rb");
- struct person pers;
- struct person *tomb;
- int db=0;
- while (fread(&pers, sizeof(pers),1,f) == 1)
- if ( pers.age <= kor )
- ++db;
- tomb = malloc (db*sizeof(pers)+1);
- rewind(f);
- db=0;
- while (fread(&pers, sizeof(pers),1,f) == 1)
- if ( pers.age <= kor )
- tomb[db++] = pers;
- qsort (tomb,db, sizeof(pers), hasonlit);
- memset(tomb[db+1].name, 0, 30);
- return tomb;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement