#include #include unsigned combustibil, k; typedef struct Calls { unsigned short x, y, prioritate; struct Calls * urm; }nevoiasi; nevoiasi * ADD_Call(nevoiasi *prim) { nevoiasi *q, *p; p = (nevoiasi *)malloc(sizeof(nevoiasi)); printf("x= "); scanf("%hu", &p->x); printf("y= "); scanf("%hu", &p->y); printf("prioritate= "); scanf("%hu", &p->prioritate); p->urm = NULL; if (prim == NULL) return p; if (prim->x >= p->x && prim->y > p->y) { p->urm = prim; return p; } q = prim; while (q->urm != NULL && q->urm->x <= p->x && q->urm->y < p-> y) q = q->urm; p->urm = q->urm; q->urm = p; return prim; } void afisare(nevoiasi *prim) { nevoiasi *q; q = prim; while (q != NULL) { printf("\n%d %d\n", q->x, q->y); q = q->urm; } } int main(){ unsigned days = 1, i, n; nevoiasi *prim = NULL; do { printf("Ziua %u:\n", days); combustibil += 10000; printf("Numarul de pachete ce pot fi livrate: "); scanf("%u", &k); printf("Numarul de apeluri: "); scanf("%u", &n); for (i = 1; i <= n; i++) prim = ADD_Call(prim); days++; } while (1); system("pause"); return 0; }