refresh
This commit is contained in:
parent
ae238ea384
commit
faf53e49f5
BIN
du2/output/program.exe
Normal file
BIN
du2/output/program.exe
Normal file
Binary file not shown.
@ -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;
|
||||
}
|
Loading…
Reference in New Issue
Block a user