This commit is contained in:
Oleksandr Vyshniakov 2025-10-06 17:13:22 +02:00
parent ae238ea384
commit faf53e49f5
2 changed files with 22 additions and 4 deletions

BIN
du2/output/program.exe Normal file

Binary file not shown.

View File

@ -6,7 +6,7 @@
struct pizza {
char name[101];
float price;
float prize;
};
int read_pizza_list(struct pizza* list) {
@ -24,10 +24,10 @@ int read_pizza_list(struct pizza* list) {
if (fgets(line, sizeof(line), stdin)==NULL) {
break;
}
if (sscanf(line, "%f", &item.price) !=1) {
if (sscanf(line, "%f", &item.prize) !=1) {
break;
}
memcpy(&listok[i], &item,sizeof(struct pizza));
memcpy(&list[i], &item,sizeof(struct pizza));
counter +=1;
}
return counter;
@ -36,8 +36,26 @@ int read_pizza_list(struct pizza* list) {
int compare (const void* a, const void* b) {
struct pizza* pizza_a = (struct pizza*)a;
struct pizza* pizza_b = (struct pizza*)b;
int result;
if (pizza_a->prize < pizza_b->prize) {
result=-1;
} else if (pizza_a->prize > pizza_b->prize) {
result=1;
} else {
result = strcmp(pizza_a->name, pizza_b->name);
}
return result;
}
int main() {
struct pizza list[LIST_SIZE];
int kolichestvo = read_pizza_list(list);
qsort(list, kolichestvo, sizeof(struct pizza), compare);
for (int i=0;i<kolichestvo;i++) {
printf("%s\n%f\n", list[i].name, list[i].prize);
}
return 0;
}