diff --git a/du6/program.c b/du6/program.c index 5fef565..88d266a 100644 --- a/du6/program.c +++ b/du6/program.c @@ -1,5 +1,68 @@ #include +#include +#include +#include -int main(){ -return 0; -} +int main() { + int freePlaces; + char inputs[100][50]; + for(int i = 0; i < 100; i++) + memset(inputs[i], '\0', 50); + char* ptr; + int finalPosition; + int count = 0; + + for(int i = 0; fgets(inputs[i], 50, stdin) != NULL; i++){ + if(i == 0){ + inputs[i][strlen(inputs[i])-1] = '\0'; + for(int j = 0; j < strlen(inputs[i]); j++){ + if(!isdigit(inputs[i][j])){ + printf("Nespravny vstup\n"); + return 0; + } + } + freePlaces = (int)strtol(inputs[i], &ptr, 10); + if(freePlaces <= 0){ + printf("Nespravny vstup\n"); + return 0; + } + } + else if(i == 1 && !isalpha(inputs[i][0])){ + printf("Ziadne prihlasky\n"); + return 0; + } + else{ + if(!strcmp(inputs[i], "") || inputs[i][0] == '\n') + break; + } + finalPosition = i; + } + + //The code below removes repeating applicants + for(int i = 0; i <= finalPosition; i++){ + for(int j = 0; j <= finalPosition; j++){ + if(!strcmp(inputs[i], inputs[j]) && i != j) { + strcpy(inputs[i], inputs[finalPosition]); + memset(inputs[finalPosition--], '\0', 50); + } + } + } + + //The code below orders the applicants by name (a-z) + qsort(inputs, finalPosition+1, 50*sizeof(char), strcmp); + + printf("Prijati studenti:\n"); + for(int i = 1; i <= freePlaces; i++){ + if(inputs[i][0] != '\n' && inputs[i][0] != '\0'){ + printf("%s", inputs[i]); + } + } + if(freePlaces+1 < finalPosition) printf("Neprijati studenti:\n"); + for(int i = freePlaces+1; i <= finalPosition; i++){ + if(isalpha(inputs[i][0])){ + printf("%s", inputs[i]); + } + } + + return 0; +} \ No newline at end of file