#include #include #include /// @ #define LINE_SIZE 100 #define LIST_SIZE 200 struct pizza { char name[LINE_SIZE]; float prize; }; int compare_pizza (struct pizza p1, struct pizza p2) { if( p1.prize > p2.prize ) { return 1; } if( p1.prize < p2.prize ) { return -1; } return strcmp(p1.name, p2.name); } int read_pizza_list(struct pizza* list) { int counter = 0; for (int i=0; i< LIST_SIZE; i++) { struct pizza item; memset(&item,0,sizeof(struct pizza)); int r = read_item(&item); if (r) { memcpy(&list[i],&item,sizeof(struct pizza)); counter += 1; } else { break; } } return counter; } void sort_pizza_list(struct pizza* list, int n) { bool sorted; struct pizza tmp; for(int k=0; k1) { tmp=list[i]; list[i]=list[i+1]; list[i+1]=tmp; sorted=false; } } if(sorted) { break; } } } int main() { struct pizza list[LIST_SIZE]; memset(list,0,LIST_SIZE*sizeof(struct pizza)); int n=read_pizza_list(list); sort_pizza_list(&list,n); for(int k=0; kname, 299, stdin); }while(p!=NULL && p[0]=='\n'); if(p==NULL) {return 0;} st=scanf("%f", &r->prize); if(st==1) {return 1;} else {return 0;} }