Why is the code giving the wrong result?

  • 0
    x = 0;
    y = -200;
    
    x = 0 * x + 1 * y
    y = -1 * x + 0 * y

    According to my logic, I should get x = -200; y = 0. Why am I getting the result x = -200; y = 200? I am a complete newbie to JS and do not even know the basic features of the language syntax. Please tell me, I will be very grateful.
    JavaScript Felix Murphy, Nov 21, 2019

  • 2 Answers
  • 0
    When something is not clear, just write down each step that happens in the program:
    // запомнили в x значение 0
    x = 0;
    // запомнили в y значение -200
    y = -200;

    // тут выражение из нескольких действий
    x = 0 * x + 1 * y
    // 1. вместо переменных подставим значения
    // 0 * 0 + 1 * -200
    // 2. посчитаем умножения
    // 0 + -200
    // 3. посчитаем сложения
    // -200
    // запомним -200 в x

    // на этом этапе у нас в x запомнено -200 и в y тоже -200

    // с этим проделайте по аналогии
    y = -1 * x + 0 * y
    Anonymous

  • 0
    because your code is equivalent to this:

    x = 0;
    y = -200;

    x = 1 * y; // 1*(-200)
    y = -1 * x; // 1*(-200) ведь Х уже -200




    do it like this

    x = 0;
    y = -200;

    temp = x;
    x = y; // -200)
    y = -temp; // -0




    better yet



    x = 0;
    y = -200;

    [x,y]=[y,-x];
    Anonymous

Your Answer
To place the code, please use CodePen or similar tool. Thanks you!