diff --git a/du2/program.c b/du2/program.c index 7186461..3dc65a9 100644 --- a/du2/program.c +++ b/du2/program.c @@ -18,49 +18,55 @@ void bubbleSort(int arr[], int n){ } int main() { - char glass[300]; - char divided[6]; + char glass[500]; + char divided[10]; + memset(divided, '\0', 10); + int counter = 0, counter2 = 0; + int final_count = 0; int numbers[50]; - int counter = 0; - int counter2 = 0; int max_number = 0; int max_position = 1; - fgets(glass, 300, stdin); + fgets(glass, 500, stdin); - for(int i = 0; glass[i] != '\n'; i++){ - //if(glass[0] == '-') break; - - for(int j = 0; glass[i+j] != ' '; j++){ - divided[j] = glass[i+j]; - counter2 = j; + for (int i = 0; glass[i] != '\n'; i++){ + if(!isdigit(glass[i])) { + final_count = i; + break; } - i += counter2; - for(int j = 0; j < strlen(divided); j++){ - divided[strlen(divided)-1] = '\0'; - if(!isdigit(divided[j]) || atoi(divided) < 1){ - goto LABEL; + if(glass[i] != ' '){ + divided[counter++] = glass[i] + } + else { + if(atoi(divided) < 1){ + final_count = i; + break; + } + numbers[counter2++] = atoi(divided); + if (i == 0){ + max_number = numbers[counter2-1]; + printf("Súťažiaci č. %d vypil %d pohárov.\n",max_position,max_number); + } + else if (max_number < numbers[counter2-1]){ + max_number = numbers[counter2-1]; + max_position = i+1; + printf("Súťažiaci č. %d vypil %d pohárov.\n",max_position,max_number); } - } - - memset(divided, '\0', 6); - - numbers[counter++] = atoi(divided); - if(i == 0) { - max_number = numbers[counter - 1]; - printf("Súťažiaci č. %d vypil %d pohárov.\n",max_position,max_number); //max value - } - else if(numbers[counter-1] > max_number) { - max_number = numbers[counter-1]; max_position = i+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]); + counter = 0; + memset(divided, '\0', 10); + } + + final_count = i; + } + + if (final_count == 0) + printf("Chyba: Málo platných hodnôt.\n"); + else { + printf("Výherca je súťažiaci %d ktorý vypil %d pohárov.\n",max_position,max_number); + } + + return 0; } \ No newline at end of file