Предмет: Информатика, автор: perfekcionists

Скажите пожалуйста почему не работает код 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;
}

Ответы

Автор ответа: MupoTBopec
1

вам сначала нужно проверить, а элемент массива вообще является четным или нет

if(arr[i] % 2 == 0) {

   if(arr[i] < min) min = arr[i];

}

А еще поправочка.

объявите до цикла min, чтобы там не было ветвления.

т.е. min = arr[0]; а уже потом цикл for

Похожие вопросы
Предмет: Химия, автор: katyalady58
Предмет: Русский язык, автор: Аноним
Предмет: История, автор: Polinaavenger