Merge branch 'master' of git.kemt.fei.tuke.sk:oh735kh/pvjc21

Merge
This commit is contained in:
Oleksandr Hryshchenko 2021-03-10 00:06:01 +01:00
commit 36570ff34a

View File

@ -18,31 +18,69 @@ void bubbleSort(int arr[], int n){
} }
int main() { int main() {
char** glass = (char**) calloc (50, sizeof(char)); char glass[500];
char divided[10];
int numbers[50]; memset(divided, '\0', 10);
int counter = 0; int counter = 0, counter2 = 0;
int max_number = 0; int final_count = 0;
int max_position = 1; int numbers[50];
int max_number = 0;
int max_positions[50];
int repeats = 1;
int user = 1;
fgets(glass, 500, stdin);
for (int i = 0; i < 500; i++){
if(!isdigit(glass[i]) && glass[i] != ' ' && glass[i] != '\n') {
final_count = i;
break;
}
if(glass[i] != ' ' && glass[i] != '\n'){
divided[counter++] = glass[i];
}
else {
if (glass[i-1] == ' ' && glass[i] == ' ') continue;
if(atoi(divided) < 1){
final_count = i;
break;
}
numbers[counter2++] = atoi(divided);
if (i == 0){
max_number = numbers[counter2-1];
}
else if (max_number < numbers[counter2-1]){
max_number = numbers[counter2-1];
repeats = 1;
max_positions[repeats-1] = user;
//max_position = i+1;
}
else if (max_number == numbers [counter2-1]){
repeats++;
max_positions[repeats-1] = user;
}
printf("Súťažiaci č. %d vypil %d pohárov.\n",user,numbers[counter2-1]);
//max_position = i+1;
counter = 0;
memset(divided, '\0', 10);
user++;
}
final_count = i;
if(glass[i] == '\n'){
break;
}
}
if (final_count == 0)
printf("Chyba: Málo platných hodnôt.\n");
else {
for(int i = 0; i < repeats; i++)
printf("Výherca je súťažiaci %d ktorý vypil %d pohárov.\n",max_positions[i],max_number);
}
for (int i = 0; fgets(glass[i], 20, stdin) != NULL; i++){
for (int j = 0; j < strlen(glass[i]; j++)){
if (!isdigit(glass[i][j]) || atoi (glass[i]) < 1){
goto LABEL;
}
}
numbers[counter++] = atoi(glass[i]);
if (i == 0)
max_number = numbers[counter-1];
else if(numbers[counter-1] > max_number){
max_number = numbers[counter-1];
printf("Súťažiaci č. %d vypil %d pohárov.\n",max_position,max_number);
}
}
LABEL:
bubbleSort(numbers, sizeof(numbers)/sizeof(numbers[0]));
printf ("Výherca je súťažiaci %d ktorý vypil %d pohárov.\n",max_position,numbers[counter-1]);
return 0; return 0;
} }