pvjc24/cv10/program.c
2024-04-25 18:36:08 +02:00

51 lines
1.4 KiB
C

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_LENGTH 100 // Maximálna dĺžka mena študenta
#define MAX_STUDENTS 100 // Maximálny počet študentov
int compare(const void *a, const void *b) {
return strcmp(*(char **)a, *(char **)b);
}
int main() {
char prihlasky[MAX_STUDENTS][MAX_LENGTH]; // Pole pre uloženie prihlášok
int max_prijati, pocet_prihlasek = 0;
// Načítanie maximálneho počtu študentov na prijatie
if (scanf("%d", &max_prijati)!= 1 || max_prijati <= 0) {
printf("Nespravny vstup\n");
return 1;
}
// Načítanie zoznamu prihlášok
while (scanf("%s", prihlasky[pocet_prihlasek]) == 1) {
pocet_prihlasek++;
}
// Kontrola, či neboli načítané žiadne prihlášky
if (pocet_prihlasek == 0) {
printf("Ziadne prihlasky\n");
return 1;
}
// Zoradenie zoznamu prihlášok podľa abecedy
qsort(prihlasky, pocet_prihlasek, MAX_LENGTH, compare);
// Výber študentov na prijatie podľa abecedy a maximálneho počtu
printf("Prijati studenti:\n");
for (int i = 0; i < max_prijati && i < pocet_prihlasek; i++) {
printf("%s\n", prihlasky[i]);
}
// Výpis neprijatých študentov
if (max_prijati < pocet_prihlasek) {
printf("Neprijati studenti:\n");
for (int i = max_prijati; i < pocet_prihlasek; i++) {
printf("%s\n", prihlasky[i]);
}
}
return 0;
}