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