Loading...

Във форума е въведено ограничение, което позволява на потребителите единствено да разглеждат публикуваните въпроси.

Ivankooo1 avatar Ivankooo1 9 Точки

6. Wrong Result - Lab - JS Fundamentals - may 2019

Здравейте хора Бих искал да получа малко помощ от вас за тази задача 6. Wrong Result - https://softuni.bg/trainings/resources/officedocument/40629/lab-js-fundamentals-may-2019/2343 в лаб тъй като не успях да я завърша и разбера идеята. Ето моя опит https://pastebin.com/43szGwN8

Тагове:
1
Fundamentals Module
willystyle avatar willystyle 2472 Точки
Best Answer

Може би искат нещо такова, колкото и да е грозно, логиката е да въртиш знаците, подобно на бройна система, за да ги изредиш всички възможности:

function wrongResult(numOne, numTwo, numThree) {
    let result = '';
    if (numOne == 0 || numTwo == 0 || numThree == 0) {
        result = 'Positive';
    } else if (numOne > 0 && numTwo > 0 && numThree > 0) {
        result = 'Positive';
    } else if (numOne > 0 && numTwo > 0 && numThree < 0) {
        result = 'Negative';
    } else if (numOne > 0 && numTwo < 0 && numThree > 0) {
        result = 'Negative';
    } else if (numOne > 0 && numTwo < 0 && numThree < 0) {
        result = 'Positive';
    } else if (numOne < 0 && numTwo > 0 && numThree > 0) {
        result = 'Negative';
    } else if (numOne < 0 && numTwo > 0 && numThree < 0) {
        result = 'Positive';
    } else if (numOne < 0 && numTwo < 0 && numThree > 0) {
        result = 'Positive';
    } else if (numOne < 0 && numTwo < 0 && numThree < 0) {
        result = 'Negative';
    }
    console.log(result);
}

но бих ти предложил и рекурсивно решение, което също не изчислява числото, а само проверява знаците, и най-важното, решава общия случай при произволен брой числа, не само на 3:

function wrongResult(...nums) {
    recursiveSign(nums);
    function recursiveSign(nums, sign = 'Positive') {
        if (nums.length === 0 ) {
            console.log(sign);
            return;
        }
        let num = nums.pop();
        if (num === 0 ) {
            console.log('Positive');
            return;
        }
        if ((sign === 'Positive' && num > 0) || (sign === 'Negative' && num < 0)) {
            recursiveSign(nums, 'Positive');
        } else {
            recursiveSign(nums, 'Negative');
        }
    }
}

 

2
15/09/2019 15:03:14
Ivankooo1 avatar Ivankooo1 9 Точки

Благодаря за решенията :)

1
slawi132 avatar slawi132 19 Точки

Не си направил порверки, когато 2 от числата са отрицателни например като умножаваш 1 * -4 * -5  ще стане 20, а не - 20

0
vladovip avatar vladovip 6 Точки

Благодаря ти, че бях влязъл в едни if-else конструкции...

0
RosenDobrev avatar RosenDobrev 0 Точки

function signCheck(numOne, numTwo, numThree) {

    let positive = 0;

    let negative = 0;

    numOne >= 0 ? positive++ : negative++;

    numTwo >= 0 ? positive++ : negative++;

    numThree >= 0 ? positive++ : negative++;

     if (negative === 0) {

        console.log("Positive");

    } else if (negative === 1) {

        console.log("Negative");

    } else if (negative === 2) {

        console.log("Positive");

    } else if (negative === 3) {

        console.log("Negative");

    }

}

0
borislav1313 avatar borislav1313 2 Точки

Едно решение и от мене https://pastebin.com/7FaWt4S0
 

function signCheck(a, b, c) {

    let devide = (a, b) => a * b

    let result = devide(a, b) * c

    return result < 0 ? "Negative" : "Positive 

}

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