52 lines
1.2 KiB
C
52 lines
1.2 KiB
C
|
#include <stdio.h>
|
||
|
#include <stdlib.h>
|
||
|
#include <string.h>
|
||
|
|
||
|
#define SIZE 100
|
||
|
|
||
|
int compare(const void* arg1, const void* arg2) {
|
||
|
char* s1 = *((char**)arg1);
|
||
|
char* s2 = *((char**)arg2);
|
||
|
return strcmp(s1, s2);
|
||
|
}
|
||
|
|
||
|
int main() {
|
||
|
char* pole_smernikov[SIZE];
|
||
|
memset(pole_smernikov, 0, SIZE * sizeof(char*));
|
||
|
|
||
|
char line[SIZE];
|
||
|
memset(line, 0, SIZE);
|
||
|
|
||
|
int pocet_mien_v_poli = 0;
|
||
|
|
||
|
while (fgets(line, SIZE, stdin) != NULL && strlen(line) > 0) {
|
||
|
int found = 0;
|
||
|
for (int i = 0; i < pocet_mien_v_poli; i++) {
|
||
|
if (memcmp(pole_smernikov[i], line, strlen(line)) == 0) {
|
||
|
found = 1;
|
||
|
break;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if (!found) {
|
||
|
pole_smernikov[pocet_mien_v_poli] = malloc(strlen(line) + 1);
|
||
|
memcpy(pole_smernikov[pocet_mien_v_poli], line, strlen(line) + 1);
|
||
|
pocet_mien_v_poli++;
|
||
|
}
|
||
|
|
||
|
memset(line, 0, SIZE);
|
||
|
}
|
||
|
|
||
|
qsort(pole_smernikov, pocet_mien_v_poli, sizeof(char*), compare);
|
||
|
|
||
|
printf("Prijati studenti:\n");
|
||
|
for (int i = 0; i < pocet_mien_v_poli; i++) {
|
||
|
printf("%s", pole_smernikov[i]);
|
||
|
}
|
||
|
|
||
|
for (int i = 0; i < pocet_mien_v_poli; i++) {
|
||
|
free(pole_smernikov[i]);
|
||
|
}
|
||
|
|
||
|
return 0;
|
||
|
}
|