Что за ошибка такая и как ее исправить? Вот такая ошибка, что это значит и как исправить? Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка (активно) E0137 выражение должно быть допустимым для изменения левосторонним значением fdogfsoks[ C:\C++\fdogfsoks[\fdogfsoks[\задание4.cpp 29 #include #include #include #include #include #include using namespace std; int main() { setlocale(LC_ALL, "RUS"); const int n = 10; int m[n], t[n],y[n]; int i,a=4; srand(time(NULL)); for (i = 0; i < n; i++) { m[i] = rand() % 100; cout << m[i] << "\t"; } for (i = 0; i < n; i++) { t[i] = pow(a, i); } for (i = 0; i < n; i++) { if (m[i] % t[i] = 0) { cout <<"\t"<< m[i] << endl; } } system("PAUSE"); } Делаю если, что такое задание: Дан одномерный массив. Вывести на экран только те элементы массива, индексы которых являются степенями числа 4. (1,4,16,64,256,…)
Ошибка E0137 означает, что вы пытаетесь присвоить значение переменной в условии if, что недопустимо. В вашем случае в условии if у вас записано m[i] % t[i] = 0, а должно быть m[i] % t[i] == 0. Исправьте это выражение на правильное и ошибка исчезнет.
После исправления этой ошибки ваш код должен работать корректно и выводить на экран только элементы массива, индексы которых являются степенями числа 4.
Ошибка E0137 означает, что вы пытаетесь присвоить значение переменной в условии if, что недопустимо. В вашем случае в условии if у вас записано m[i] % t[i] = 0, а должно быть m[i] % t[i] == 0. Исправьте это выражение на правильное и ошибка исчезнет.
Правильный код условия в цикле for выглядит так:
if (m[i] % t[i] == 0) {cout <<"\t"<< m[i] << endl;
}
После исправления этой ошибки ваш код должен работать корректно и выводить на экран только элементы массива, индексы которых являются степенями числа 4.