
Скажите пожалуйста почему не работает код C++ должно выводить наименьший четный элемент массива,
если такого нет, то выведите первый элемент. #include using namespace std; int main() { cout<<"Vedit 10 elementiv:"; const int SIZE=10; int arr[SIZE]; int min; for (int i = 0; i < SIZE; i+=1) { arr[i]=rand()%60; } for (int i = 0; i < SIZE; i+=1) { cout << arr[i]<<' '; } for (int i = 0; i < SIZE; i+=1) { if (i == 0){ min = arr[i];} else if (arr[i] < min) min = arr[i]; } cout << "Minimalnui element(chetnui): " << min << std::endl; return 0; }

Ответы на вопрос

вам сначала нужно проверить, а элемент массива вообще является четным или нет
if(arr[i] % 2 == 0) {
if(arr[i] < min) min = arr[i];
}
А еще поправочка.
объявите до цикла min, чтобы там не было ветвления.
т.е. min = arr[0]; а уже потом цикл for



Проблема в вашем коде C++ заключается в том, что вы не проверяете четность элементов массива, и поэтому ваш код выводит просто минимальный элемент, а не минимальный четный элемент массива.
Чтобы исправить это, вам нужно внести некоторые изменения. Вот исправленный код:
cpp#include <iostream>
using namespace std;
int main() {
cout << "Vedit 10 elementiv:";
const int SIZE = 10;
int arr[SIZE];
int min = -1; // Инициализируем min значением -1, чтобы отличить от реальных элементов массива
for (int i = 0; i < SIZE; i++) {
arr[i] = rand() % 60;
}
for (int i = 0; i < SIZE; i++) {
cout << arr[i] << ' ';
}
for (int i = 0; i < SIZE; i++) {
if (arr[i] % 2 == 0) { // Проверяем четность элемента
if (min == -1) {
min = arr[i];
} else if (arr[i] < min) {
min = arr[i];
}
}
}
// Если min остался -1, значит четных элементов не было, выводим первый элемент массива
if (min == -1) {
min = arr[0];
}
cout << "Minimalnui element(chetnui): " << min << endl;
return 0;
}
В этом исправленном коде мы добавили проверку четности элементов с помощью операции остатка %
. Если элемент делится нацело на 2 (остаток равен 0), значит он четный. Если вы найдете хотя бы один четный элемент, установим его в качестве минимального значения. Если в массиве нет четных элементов, выводим первый элемент в качестве минимального значения.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili