CCCPaste

06. High Jump

//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"])