//06. Jump High (javascript)
function highJump(inputArray) {
let goalHight = Number(inputArray[0]);//прочитам желаната цел.
let successfulTry = 0; //Инициализирам брояч за успшешни опити.
let unsuccessfulTry = 0;//Инициализирам брояч за НЕуспшешни опити.
let isFailed = false; // булева промелива за достигнат лимит на неуспешните опити.
let attempts = 0; //брояч следящ цялото количество опити.
let index = 1; //индекс на елементи от масива.
let currentBarHight = goalHight - 30; //изчислявам стартовата височина.
while (index < inputArray.length) { // въртя цикъл докато не е достигнат максимален индекс на масива.
let currentTryHight = Number(inputArray[index]);
attempts++;
if (currentTryHight > currentBarHight) { // Проверявам дали текущия резултата е по-голям от текущата височина.
successfulTry++; // увеличавам брояча за успешни опити
unsuccessfulTry = 0; // нулирам за неуспешни тъй като има успешен опит
// Ако е над целта, изход
if (currentTryHight > goalHight) { //проверка за достигната цел
break;
}
currentBarHight += 5;// увеличаваме летвата след успешен опит
} else { //ако целата не е достигната
unsuccessfulTry++; //увеличавм брояча за неуспшешни опити
if (unsuccessfulTry == 3) { // При 3 неуспешни излизам от цикъла
isFailed = true; //булева променлива за провал
break;
}
}
index++; //вземам следващ индекс.
}
if (isFailed) {
console.log(`Tihomir failed at ${currentBarHight}cm after ${attempts} jumps.`);
} else {
console.log(`Tihomir succeeded, he jumped over ${goalHight}cm after ${attempts} jumps.`);
}
}
//highJump(["231","205","212","213","228","229","230","235"])
highJump(["250","225","224","225","228","231","235","234","235"])