#include #include #define MAX_STUDENTS 100 #define NAME_SIZE 50 int main() { int max_students, num_accepted = 0, num_students = 0; char names[MAX_STUDENTS][NAME_SIZE]; char temp_name[NAME_SIZE]; printf("Zadajte maximalny pocet studentov: "); fgets(temp_name, sizeof(temp_name), stdin); max_students = atoi(temp_name); if (max_students <= 0 || max_students > MAX_STUDENTS) { printf("Nespravny vstup\n"); return 1; } memset(names, 0, sizeof(names)); printf("Zadajte mena studentov (maximalne %d):\n", max_students); while (fgets(temp_name, sizeof(temp_name), stdin) != NULL && num_accepted < max_students) { int i, found = 0; for (i = 0; i < num_accepted; i++) { if (strcmp(names[i], temp_name) == 0) { found = 1; break; } } if (!found) { strcpy(names[num_accepted], temp_name); num_accepted++; } num_students++; } if (num_accepted == 0) { printf("Ziadne prihlasky"); } else { printf("Prijati studenti:\n"); qsort(names, num_accepted, sizeof(names[0]), strcmp); for (int i = 0; i < num_accepted; i++) { printf("%s", names[i]); } } if (num_accepted < num_students) { printf("Neprijati studenti:\n"); for (int i = 0; i < max_students; i++) { if (names[i][0] == '\0') { continue; } if (num_accepted == 0 || strcmp(names[num_accepted - 1], names[i]) < 0) { printf("%s", names[i]); } } } return 0; }