diff --git a/cv2/program.c b/cv2/program.c index 1259c84..85aa1bf 100644 --- a/cv2/program.c +++ b/cv2/program.c @@ -1 +1,94 @@ -//// \ No newline at end of file +#include +#include + +#define LINE_SIZE 100 +#define LIST_SIZE 200 + +struct pizza +{ + char name[LINE_SIZE]; + float prize; +}; + +int read_pizza_list(struct pizza* list); + +int compare_pizza (const void * a, const void * b) +{ + struct pizza* p1=(struct pizza*)a; + struct pizza* p2=(struct pizza*)b; + + if( p1->prize > p2->prize ) + { + return 1; + } + + + if( p1->prize < p2->prize ) + { + return -1; + } + + return strcmp(p1->name, p2->name); +} + + +int main() +{ + struct pizza list[LIST_SIZE]; + memset(list,0,LIST_SIZE*sizeof(struct pizza)); + + int n=read_pizza_list(list); + printf("%d",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;} +} + + +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; + +} \ No newline at end of file