#include #include #include #define SIZE 100 int compare(const void* arg1, const void* arg2) { char* s1 = *((char**)arg1); char* s2 = *((char**)arg2); return strcmp(s1, s2); } int main() { char* pole_smernikov[SIZE]; memset(pole_smernikov, 0, SIZE * sizeof(char*)); char line[SIZE]; memset(line, 0, SIZE); int pocet_mien_v_poli = 0; while (fgets(line, SIZE, stdin) != NULL && strlen(line) > 0) { int found = 0; for (int i = 0; i < pocet_mien_v_poli; i++) { if (memcmp(pole_smernikov[i], line, strlen(line)) == 0) { found = 1; break; } } if (!found) { pole_smernikov[pocet_mien_v_poli] = malloc(strlen(line) + 1); memcpy(pole_smernikov[pocet_mien_v_poli], line, strlen(line) + 1); pocet_mien_v_poli++; } memset(line, 0, SIZE); } qsort(pole_smernikov, pocet_mien_v_poli, sizeof(char*), compare); printf("Prijati studenti:\n"); for (int i = 0; i < pocet_mien_v_poli; i++) { printf("%s", pole_smernikov[i]); } for (int i = 0; i < pocet_mien_v_poli; i++) { free(pole_smernikov[i]); } return 0; }