Loading...
jorkataaa85 avatar jorkataaa85 1 Точки

06. Basketball Tournament Programming Basics Online Exam - 9 and 10 March 2019

 

Привет, 

някой може ли да ми отвори очите защо получавам безкраен loop при този код за решението на тази задача :) 

https://judge.softuni.bg/Contests/Practice/Index/1538#11

 

 

function basketBallTournament(input) {

 

    let tournamentsName = input.shift();

 

    let pointsCounterForDesi = 0;

    let pointsCounterOtherTeam = 0;

    let gamesCounter = 0;

    let gamesWon = 0;

    let gamesLost = 0;

    let gamesPlayed = 0;

 

    while(tournamentsName !== "End of tournaments") {

        gamesPlayed = Number(input.shift());

        for(let i = 0; i < gamesPlayed; i++) {

 

            let pointsForDesi = Number(input.shift());

            let pointsForOtherTeam = Number(input.shift());

            gamesCounter++;

 

            if(pointsForDesi > pointsForOtherTeam) {

                gamesWon++;

                console.log(`Game ${gamesCounter} of tournament ${tournamentsName}: win with ${pointsForDesi - pointsForOtherTeam} points.`);

            } else if(pointsForDesi < pointsForOtherTeam) {

                gamesLost++;

                console.log(`Game ${gamesCounter} of tournament ${tournamentsName}: lost with ${pointsForOtherTeam - pointsForDesi} points.`);

            }

 

        } // for

    }     // while

 

    let matchesWinPercent = (gamesWon / gamesPlayed) * 100;

    let matchesLostPercent = (gamesLost / gamesPlayed) * 100;

    

    if(tournamentsName === "End of tournaments") {

 

        console.log(`Game ${matchesWinPercent}% matches win.`);

        console.log(`Game ${matchesLostPercent}% matches lost.`);

 

    }

 

 

 

basketBallTournament(["Dunkers", 2, 75, 65, 56, 73, "Fire Girls", 3, 67, 34, 83, 98, 66, 45, "End of tournaments"]);

Тагове:
0
Fundamentals Module
jorkataaa85 avatar jorkataaa85 1 Точки

И още едно въпросче от любопитство. 
за същата задача с код 

 

function basketBallTournament(input) {

 

    let tournamentsName = input.shift();

 

    let pointsCounterForDesi = 0;

    let pointsCounterOtherTeam = 0;

    let gamesCounter = 0;

    let gamesWon = 0;

    let gamesLost = 0;

    let gamesPlayed = 0;

    let tournamentsCounter = 0;

    let totalGamesCounter = 0;

 

    while(tournamentsName !== "End of tournaments") {

        gamesPlayed = Number(input.shift());

        for(let i = 0; i < gamesPlayed; i++) {

 

            let pointsForDesi = Number(input.shift());

            let pointsForOtherTeam = Number(input.shift());

            gamesCounter++;

            totalGamesCounter++;

 

            if(pointsForDesi > pointsForOtherTeam) {

                gamesWon++;

                console.log(`Game ${gamesCounter} of tournament ${tournamentsName}: win with ${pointsForDesi - pointsForOtherTeam} points.`);

            } else if(pointsForDesi < pointsForOtherTeam) {

                gamesLost++;

                console.log(`Game ${gamesCounter} of tournament ${tournamentsName}: lost with ${pointsForOtherTeam - pointsForDesi} points.`);

            }

 

        } // for

        tournamentsCounter++;

        gamesCounter = 0;

        tournamentsName = input.shift();

    }     // while

 

    let matchesWinPercent = (gamesWon / totalGamesCounter) * 100;

    let matchesLostPercent = (gamesLost / totalGamesCounter) * 100;

    

    if(tournamentsName === "End of tournaments") {

 

        console.log(`${matchesWinPercent.toFixed(2)}% matches win.`);

        console.log(`${matchesLostPercent.toFixed(2)}% matches lost.`);

 

    }

 

 

 

basketBallTournament(["Ballers",

    3,

    87,

    63,

    56,

    65,

    75,

    64,

    "Sharks",

    4,

    64,

    76,

    65,

    86,

    68,

    99,

    45,

    78,

    "End of tournaments"]);

 

 

на конзолата при локално тестване получавам точно примерните резултати в условието. Тествам с двата входа и изхода. В двата случая, получавам точно същите резултати както са дадени, но judje все пак ми дава 0/100 :) 

0
Можем ли да използваме бисквитки?
Ние използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Можете да се съгласите с всички или част от тях.
Назад
Функционални
Използваме бисквитки и подобни технологии, за да предоставим нашите услуги. Използваме „сесийни“ бисквитки, за да Ви идентифицираме временно. Те се пазят само по време на активната употреба на услугите ни. След излизане от приложението, затваряне на браузъра или мобилното устройство, данните се трият. Използваме бисквитки, за да предоставим опцията „Запомни Ме“, която Ви позволява да използвате нашите услуги без да предоставяте потребителско име и парола. Допълнително е възможно да използваме бисквитки за да съхраняваме различни малки настройки, като избор на езика, позиции на менюта и персонализирано съдържание. Използваме бисквитки и за измерване на маркетинговите ни усилия.
Рекламни
Използваме бисквитки, за да измерваме маркетинг ефективността ни, броене на посещения, както и за проследяването дали дадено електронно писмо е било отворено.