#include #include #include #define MAX_NAZIV 16 typedef struct { char naziv[MAX_NAZIV]; int kolicina; int obradjen; } ARTIKAL; void greska(); int main() { ARTIKAL *niz; int n; scanf("%d", &n); if(n <= 0) greska(); niz = (ARTIKAL*)malloc(n * sizeof(ARTIKAL)); if(niz == NULL) greska(); int i; for(i = 0; i < n; i++) { scanf("%s%d", niz[i].naziv, &niz[i].kolicina); if(niz[i].kolicina < 0) greska(); niz[i].obradjen = 0; } int j; int suma; for(i = 0; i < n; i++) { if(niz[i].obradjen) continue; suma = niz[i].kolicina; for(j = i+1; j < n; j++) { if(niz[j].obradjen == 0) { if(strcmp(niz[j].naziv, niz[i].naziv) == 0) { suma += niz[j].kolicina; niz[j].obradjen = 1; } } } printf("%s %d\n", niz[i].naziv, suma); } free(niz); return 0; } void greska() { fprintf(stderr, "-1"); exit(EXIT_FAILURE); }