#include #include #include #include #include #include #define SIZE 100 struct student { char name[SIZE]; int votes; }; int find_student(struct student* students, int size, const char* nameo){ int con = 0; for(int i = 0; i < size; i++){ if(strcmp (nameo, students[i].name) == 0){ // students[i].name вместо students.name[SIZE] con++; return i; } } if(con == 0){ return -1; } con = 0; } int main(){ int STOP = 0; struct student databaza[SIZE]; memset(databaza, 0, SIZE*sizeof(struct student)); int size = 0; char line[SIZE]; memset(line, 0, SIZE); char* r; char* end = NULL; int value = 0; if (r == NULL){ // Nastal koniec načítania } while(STOP == 0){ r = fgets(line, SIZE, stdin); if (r == NULL){ STOP = 1; break; } value = strtol(line, &end, 10); //printf("value==>%d\n", value); //printf("end====>%s\n", end); char text[SIZE]; memset(text, 0, SIZE); char* zaciatok_mena = end + 1; int velkost_mena = strlen(zaciatok_mena) - 1; //printf("zaciatok===>%s\n", zaciatok_mena); //printf("velkost====>%d\n", velkost_mena); if (velkost_mena > 0){ memcpy(text, zaciatok_mena, velkost_mena); //printf("text===>%s\n", text); } else { STOP = 1; break; } int id = find_student(databaza, size, text); if (id < 0){ memcpy(databaza[size].name, text, velkost_mena); databaza[size].votes = value; size += 1; //printf("value===>%d\n",value); } else { databaza[id].votes += value; //printf("data===>%d\n",databaza[id].votes); } printf("Vysledky:\n"); for (int i = 0; i < size; i++) { printf("%d", databaza[i].votes); printf(" %s\n", databaza[i].name); } } return 0; }