#include #include #include #include #include #include #define velkost strlen #define size 100 struct jedlo { char name[size]; float price; }; int compare(const void* p1,const void*p2); int abeceda(const void* p1, const void* p2); int main() { struct jedlo databaza[size]; char input[100]= {0}; float price = 0; int counter = 0; int helper = 2; int counter2 = 0; int yes = 0; while(fgets(input, sizeof(input), stdin) && strcmp( input, "\n" ) != 0 ){ if(helper %2 == 0){ strcpy(databaza[counter].name, input); yes++; } else{ price = strtof(input, NULL); databaza[counter].price = price; yes++; } if(yes == 2){ counter++; yes = 0; } counter2++; helper++; if (price[1] == '\0'){ return 0; } } counter2 = (counter2 / 2); qsort(databaza, counter2,sizeof(struct jedlo),abeceda); qsort(databaza, counter2,sizeof(struct jedlo),compare); for(int z=0; z s2.price){ order = 1; } else if(s1.price < s2.price){ order = -1; } else { order = 0; } return order; } int abeceda(const void* p1, const void* p2) { struct jedlo* s1=(struct jedlo*)p1; struct jedlo* s2=(struct jedlo*)p2; int result = strcmp(s1->name, s2->name); return result; }