/****************************************************************************** Welcome to GDB Online. GDB online is an online compiler and debugger tool for C, C++, Python, Java, PHP, Ruby, Perl, C#, VB, Swift, Pascal, Fortran, Haskell, Objective-C, Assembly, HTML, CSS, JS, SQLite, Prolog. Code, Compile, Run and Debug online from anywhere in world. *******************************************************************************/ #include #include #include #define fullSIZE 1000 #define wSIZE 100 #include int main() { int SIZE = 0; if(!(scanf("%d", &SIZE))){ printf("Nespravny vstup\n"); return 0; } if(SIZE < 1){ printf("Nespravny vstup\n"); return 0; } int pm = 0; char** pole_smernikov = malloc(fullSIZE * sizeof(char)); //char* success[SIZE]; //char* unsuccess[SIZE]; //memset(pole_smernikov,0,SIZE*sizeof(char*)); int k = 0; char* line = malloc(wSIZE * sizeof(char)); //memset(line,0,SIZE); //char* r; //int q = 0; size_t pocet_znakov = 0; int antiInfC = 0; //char r; while (fgets(line,wSIZE,stdin)) { // if (r == '\n') { // break; // } // if(antiInfC == SIZE - 1){ // break; // } else{ // antiInfC++; // } k = 0; pocet_znakov = strlen(line); char* all = malloc(pocet_znakov); memcpy(all, line, pocet_znakov); for(int x = 0; x < pm; x++){ if(memcmp(pole_smernikov[x], line, pocet_znakov) == 0){ k++; } //pole_smernikov[k] = line; } if(0 == k){ pole_smernikov[pm] = all; pm++; } if((line[0] == '\n' || isalpha(line[0])!=0 ) && antiInfC == 1) { break; } antiInfC++; } free(line); k = 0; int i = 0; i = 0; while (i < pm){ for(int j = 0+1; j < pm-i; j++){ if(0 < strcmp(pole_smernikov[j-1], pole_smernikov[j])){ char* temp = pole_smernikov[j]; pole_smernikov[j] = pole_smernikov[j - 1]; pole_smernikov[j-1] = temp; } } // if (memcmp(pole_smernikov[i],line,pocet_znakov)){ // // Nasiel som // unsuccess[k] = pole_smernikov[i]; // printf("%s\n", unsuccess[k]); // } else{ // success[q] = pole_smernikov[i]; // printf("%s\n", success[q]); // } i++; } // printf("%s\n", pole_smernikov[0]); if(NULL == pole_smernikov[1]){ puts("Ziadne prihlasky"); return 0; } printf("Prijati studenti:\n"); for(int i = 0+1; i < 1+SIZE; i++){ if(pole_smernikov[i] != NULL){ printf("%s\n", pole_smernikov[i]); } else{ } free(pole_smernikov[i]); } int rra = -1; pm = pm + rra; if(0 > (SIZE - pm)){ puts("Neprijati studenti:"); for(int i = SIZE+1; i