#include #include #include #define MAXIMALNE_STUDENTOV 1000 #define MENA 100 int main(){ char spisok[MAXIMALNE_STUDENTOV][MENA]; //pole na ukladanie mien studentov int maximalne_studentov, num_studentov = 0; if(scanf("%d", &maximalne_studentov) != 1){ //precitane si maximalny pocet prijatych studentov puts("Nespravny vstup"); return 1; } while(fgets(spisok[num_studentov], MENA, stdin)){ //precitajte si zoznam studentskych prihlasok spisok[num_studentov][strcspn(spisok[num_studentov], "\n")] = '\0'; //odstranie koncovoho znaka noveho riadku if(spisok[num_studentov][0] == '\0'){ //zastavnie citanie ak najdeni prazdny riadok alebo koniec suboru break; } for(int a = 0; a < num_studentov; a++){ //skontrolujem duplicitne mena if(strcmp(spisok[a], spisok[num_studentov]) == 0){ puts("Ziadne prihlasky"); return 1; } } num_studentov++; if(num_studentov >= maximalne_studentov){ //po dosiahnuti maximalneho poctu studentov zastavte citanie break; } } for(int a = 0; a < num_studentov; a++){ //zorad zoznam studentov podla abecedy for(int b = a +1; b < num_studentov; b++){ if(strcmp(spisok[a], spisok[b]) > 0){ char p[MENA]; strcpy(p, spisok[a]); strcpy(spisok[a], spisok[b]); strcpy(spisok[b], p); } } } puts("Prijati studenti:"); for(int a = 0; a < num_studentov && a < maximalne_studentov; a++){ //vytlacame zoznam prijatich studentov printf("%s\n", spisok[a]); } if(num_studentov > maximalne_studentov){ //vytlacame zoznam odmietnutych studentov puts("Neprijati studenti:"); for(int a = maximalne_studentov; a < num_studentov; a++){ printf("%s\n", spisok[a]); } } return 0; }