Что за ошибка такая и как ее исправить? Вот такая ошибка, что это значит и как исправить? Серьезность Код Описание Проект Файл Строка Состояние подавления Ошибка (активно) 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,…)

22 Ноя 2021 в 20:00
483 +1
0
Ответы
1

Ошибка 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.

17 Апр в 08:31
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 172 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир