Создал(а) 'du6/program.c'
This commit is contained in:
parent
0ddb73c084
commit
9b809dbb03
88
du6/program.c
Normal file
88
du6/program.c
Normal file
@ -0,0 +1,88 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <assert.h>
|
||||
#include <math.h>
|
||||
#include <ctype.h>
|
||||
#define SIZE 100
|
||||
int compare(const void* arg1, const void* arg2){
|
||||
const char** ptr1 = (const char**)arg1;
|
||||
const char** ptr2 = (const char**)arg2;
|
||||
return strcmp(*ptr1, *ptr2);
|
||||
}
|
||||
int main(){
|
||||
char* pole_smernikov[SIZE];
|
||||
memset(pole_smernikov,0,SIZE*sizeof(char*));
|
||||
char line[SIZE];
|
||||
memset(line,0,SIZE);
|
||||
char* r = fgets(line, SIZE, stdin);
|
||||
int pocet_mien_v_poli = 0;
|
||||
|
||||
int copy = 0;
|
||||
int kolicestvo = atoi(line);
|
||||
if(kolicestvo <= 0){
|
||||
puts("Nespravny vstup\n");
|
||||
return 0;
|
||||
}
|
||||
int countpr = 0;
|
||||
while(1){
|
||||
r = fgets(line, SIZE, stdin);
|
||||
if(line[0] == '\n'){
|
||||
break;
|
||||
}
|
||||
if(r == NULL){
|
||||
break;
|
||||
}
|
||||
int pocet_znakov = strlen(line);
|
||||
for(int i = 0; i < pocet_znakov; i++){
|
||||
if(!isalpha(line[i])){
|
||||
countpr++;
|
||||
//printf("-->%d\n",countpr);
|
||||
}
|
||||
}
|
||||
if(countpr != 1){
|
||||
puts("Ziadne prihlasky\n");
|
||||
return 0;
|
||||
}
|
||||
for(int i = 0; i < pocet_mien_v_poli; i++){
|
||||
if(strcmp(pole_smernikov[i],line) == 0){
|
||||
copy = 1;
|
||||
//printf("Chyba\n");
|
||||
}
|
||||
}
|
||||
if(copy == 0){
|
||||
if (pocet_mien_v_poli >= SIZE) {
|
||||
printf("Pole smernikov je plne\n");
|
||||
break;
|
||||
}
|
||||
pole_smernikov[pocet_mien_v_poli] = malloc(pocet_znakov + 1);
|
||||
memcpy(pole_smernikov[pocet_mien_v_poli],line,pocet_znakov + 1);
|
||||
pocet_mien_v_poli += 1;
|
||||
//printf("Opa\n");
|
||||
}
|
||||
countpr = 0;
|
||||
}
|
||||
qsort(pole_smernikov, pocet_mien_v_poli, sizeof(char*), compare);
|
||||
//printf("===>%d\n", pocet_mien_v_poli);
|
||||
if(pocet_mien_v_poli > kolicestvo){
|
||||
puts("Prijati studenti:");
|
||||
for (int i = 0; i < kolicestvo; i++) {
|
||||
printf("%s", pole_smernikov[i]);
|
||||
}
|
||||
puts("Neprijati studenti:");
|
||||
for (int i = kolicestvo; i < pocet_mien_v_poli; i++) {
|
||||
printf("%s", pole_smernikov[i]);
|
||||
}
|
||||
}
|
||||
else{
|
||||
puts("Prijati studenti:");
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user