Update du2/program.c
This commit is contained in:
parent
3585da7e91
commit
3d612ada88
@ -0,0 +1,55 @@
|
|||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <ctype.h>
|
||||||
|
|
||||||
|
#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;
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user