63 lines
1.8 KiB
C
63 lines
1.8 KiB
C
#include <stdio.h>
|
|
#include <string.h>
|
|
#include <stdlib.h>
|
|
|
|
#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;
|
|
} |