Возведение в степень переменной со значением, полученным из массива
Имеется массив 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 только меняет код первой ошибки
Ответы (1 шт):
Автор решения: nyekitka
→ Ссылка
Так а зачем вы пишете присваивание таким образом:
(pow(x, 2) - 25)*(-1.0) = y;
Вы таким образом пытаетесь присвоить значению слева значение справа, а значение слева является так называемым rvalue (проще говоря, в него нельзя присваивать, его можно только присваивать). Ваша проблема решается элементарной перестановкой:
y = (pow(x, 2) - 25)*(-1.0);