#include #include #include #include #define MAX_PIZZ 1000 #define MAX_NAZOV 101 typedef struct { char nazov[MAX_NAZOV]; double cena; } Pizza; int porovnaj(const void *a, const void *b) { const Pizza *p1 = (const Pizza *)a; const Pizza *p2 = (const Pizza *)b; if (p1->cena < p2->cena) return -1; if (p1->cena > p2->cena) return 1; return strcasecmp(p1->nazov, p2->nazov); } int main() { Pizza zoznam[MAX_PIZZ]; int n = 0; while (1) { if (!fgets(zoznam[n].nazov, MAX_NAZOV, stdin)) break; zoznam[n].nazov[strcspn(zoznam[n].nazov, "\n")] = '\0'; if (strlen(zoznam[n].nazov) == 0) break; char riadok[50]; if (!fgets(riadok, sizeof(riadok), stdin)) break; if (sscanf(riadok, "%lf", &zoznam[n].cena) != 1) break; n++; if (n >= MAX_PIZZ) break; } qsort(zoznam, n, sizeof(Pizza), porovnaj); for (int i = 0; i < n; i++) { printf("%s\n%.6f\n", zoznam[i].nazov, zoznam[i].cena); } return 0; }