-1

Имеется массив mas[200], в который записаны некоторые числа.

Задача: Присвоить переменной double x значение из определенной ячейки массива и подставить в формулу для получения значения y:

for (int n = 0; n < 200; n++)
{   
    x = mas[n];
    (pow(x, 2) - 25)*(-1.0) = y;

}

Компилятор ругается на pow сразу двумя ошибками:

  • Е0137 Выражение должно быть допустимым для изменения левосторонним значением
  • С2106 := левый операнд должен быть допустимым значением

Замена pow(x, 2) на неграмотное x*x только меняет код первой ошибки

Harry
  • 221,325
  • 1
    Я бы не называл x неграмотной заменой для pow(x,2)... https://ru.stackoverflow.com/a/1143442/195342 – Harry Dec 04 '22 at 07:47

1 Answers1

3

Так а зачем вы пишете присваивание таким образом:

(pow(x, 2) - 25)*(-1.0) = y;

Вы таким образом пытаетесь присвоить значению слева значение справа, а значение слева является так называемым rvalue (проще говоря, в него нельзя присваивать, его можно только присваивать). Ваша проблема решается элементарной перестановкой:

y = (pow(x, 2) - 25)*(-1.0);
nyekitka
  • 1,318