#include #include #include // Štruktúra typedef struct { char nazov[101]; // Názov double cena; // Cena } Pizza; // Funkcia na porovnanie dvoch položiek int porovnaj(const void *a, const void *b) { Pizza *pizzaA = (Pizza *)a; Pizza *pizzaB = (Pizza *)b; // Porovnanie ceny if (pizzaA->cena < pizzaB->cena) return -1; if (pizzaA->cena > pizzaB->cena) return 1; // Ak sú ceny rovnaké, porovnáme abecedne názvy return strcmp(pizzaA->nazov, pizzaB->nazov); } int main() { Pizza menu[100]; int pocet = 0; char nazov[101]; double cena; // Načítanie položiek z vstupu while (1) { // Načítaj názov pizze if (fgets(nazov, sizeof(nazov), stdin) == NULL) { break; } nazov[strcspn(nazov, "\n")] = '\0'; // Načítaj cenu if (scanf("%lf", &cena) != 1) { break; } // Vyčistenie vstupného bufferu getchar(); // Uloženie položky do zoznamu strcpy(menu[pocet].nazov, nazov); menu[pocet].cena = cena; pocet++; } // Zoradenie položiek qsort(menu, pocet, sizeof(Pizza), porovnaj); // Výpis zoradeného menu for (int i = 0; i < pocet; i++) { printf("%s\n%.6f\n", menu[i].nazov, menu[i].cena); } return 0; }