du2 - 5
This commit is contained in:
parent
421f2ea58b
commit
51aef6edb2
@ -41,17 +41,27 @@ int read_pizza(struct pizza *item) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
//porovnanie pre qsort
|
||||
int compare_pizza(const void *a, const void *b){
|
||||
const struct pizza *pa = (const struct pizza *)a;
|
||||
const struct pizza *pb = (const struct pizza *)b;
|
||||
|
||||
if (pa->price < pb->price) return -1;
|
||||
if (pa->price > pb->price) return 1;
|
||||
|
||||
return strcmp(pa->name, pb->name);
|
||||
// porovnanie dvoch položiek
|
||||
int greater(struct pizza *a, struct pizza *b) {
|
||||
if (a->prize > b->prize)
|
||||
return 1;
|
||||
if (a->prize < b->prize)
|
||||
return 0;
|
||||
return strcmp(a->name, b->name) > 0;
|
||||
}
|
||||
|
||||
// sort
|
||||
void sort_pizzas(struct pizza *list, int count) {
|
||||
for (int i = 0; i < count - 1; i++) {
|
||||
for (int j = 0; j < count - i - 1; j++) {
|
||||
if (greater(&list[j], &list[j + 1])) {
|
||||
struct pizza tmp = list[j];
|
||||
list[j] = list[j + 1];
|
||||
list[j + 1] = tmp;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main() {
|
||||
struct pizza list[MAXITEMS];
|
||||
@ -68,7 +78,7 @@ int main() {
|
||||
}
|
||||
|
||||
//triedenie
|
||||
qsort(list, count, sizeof(struct pizza), compare_pizza);
|
||||
sort_pizzas(list, count);
|
||||
|
||||
//vypis listka
|
||||
for (int i = 0; i < count; i++){
|
||||
|
Loading…
Reference in New Issue
Block a user