Initialization

This commit is contained in:
Kozar 2024-04-22 19:15:04 +02:00
parent fd6728dca9
commit d9f4958390

View File

@ -1,18 +1,20 @@
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
#include <stdlib.h>
#define MAX_STUDENTS 100 #define MAX_STUDENTS 100
#define NAME_SIZE 50 #define NAME_SIZE 50
int compare(const void *a, const void *b) {
return strcmp(*(const char **)a, *(const char **)b);
}
int main() { int main() {
int max_students, num_accepted = 0, num_students = 0; int max_students, num_accepted = 0, num_students = 0;
char names[MAX_STUDENTS][NAME_SIZE]; char names[MAX_STUDENTS][NAME_SIZE];
char temp_name[NAME_SIZE]; char temp_name[NAME_SIZE];
printf("Zadajte maximalny pocet studentov: "); scanf("%d", &max_students);
fgets(temp_name, sizeof(temp_name), stdin);
max_students = atoi(temp_name);
if (max_students <= 0 || max_students > MAX_STUDENTS) { if (max_students <= 0 || max_students > MAX_STUDENTS) {
printf("Nespravny vstup\n"); printf("Nespravny vstup\n");
return 1; return 1;
@ -20,7 +22,6 @@ int main() {
memset(names, 0, sizeof(names)); memset(names, 0, sizeof(names));
printf("Zadajte mena studentov (maximalne %d):\n", max_students);
while (fgets(temp_name, sizeof(temp_name), stdin) != NULL && num_accepted < max_students) { while (fgets(temp_name, sizeof(temp_name), stdin) != NULL && num_accepted < max_students) {
int i, found = 0; int i, found = 0;
@ -42,24 +43,21 @@ int main() {
if (num_accepted == 0) { if (num_accepted == 0) {
printf("Ziadne prihlasky"); printf("Ziadne prihlasky");
} else { } else {
qsort(names, num_accepted, sizeof(names[0]), compare);
printf("Prijati studenti:\n"); printf("Prijati studenti:\n");
qsort(names, num_accepted, sizeof(names[0]), strcmp);
for (int i = 0; i < num_accepted; i++) { for (int i = 0; i < num_accepted; i++) {
printf("%s", names[i]); printf("%s", names[i]);
} }
} }
if (num_accepted < num_students) { // if (num_accepted < num_students) {
printf("Neprijati studenti:\n"); // printf("Neprijati studenti:");
for (int i = 0; i < max_students; i++) { // for (int i = 0; i < max_students; i++) {
if (names[i][0] == '\0') { // if (names[i][0] == '\0') {
continue; // printf("%s", names[i]);
} // }
if (num_accepted == 0 || strcmp(names[num_accepted - 1], names[i]) < 0) { // }
printf("%s", names[i]); // }
}
}
}
return 0; return 0;
} }