From a8e7e2b7a6ec567f1125e2aaf48c512b8a1d8aef Mon Sep 17 00:00:00 2001 From: Anton Dolozin Date: Mon, 29 Sep 2025 13:15:18 +0200 Subject: [PATCH] Minor setback, renaming the folder --- du2/program.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 du2/program.c diff --git a/du2/program.c b/du2/program.c new file mode 100644 index 0000000..54ea3fa --- /dev/null +++ b/du2/program.c @@ -0,0 +1,75 @@ + +#define LINE_SIZE 100 +#define LIST_SIZE 75 +#include +#include +#include +#include +struct pizza{ + char name[LINE_SIZE]; + float prize; +}; +struct pizza list[LIST_SIZE]; + +int read_item(struct pizza *item) { + char line[LINE_SIZE]; + char line2[LINE_SIZE]; + if (!fgets(line, sizeof(line), stdin)) + return 0; + if (strlen(line) == 0) + return 0; + if (!fgets(line2, sizeof(line2), stdin)) + return 0; + + char *endptr; + float value = strtof(line2, &endptr); + + if (value == 0.0F) + return 0; + + strcpy(item->name, line); + item->prize = value; + + return 1; +} + +int read_pizza_list(struct pizza* list){ + int counter = 0; + for (int i = 0; iprize; + float prize2 = ((struct pizza*)b)->prize; + int r2 = strcmp(((struct pizza*)a)->name, ((struct pizza*)b)->name); + int r; + if (prize1 < prize2){ + r = -1; + return r; + } + else if(prize1 > prize2){ + r = 1; + return r; + } + else{ return r2;} +} +int main(void){ + int size= read_pizza_list(list); + qsort(list, size, sizeof(struct pizza), compare_pizza); + for(int i = 0; i