Надо найти минимальное положительное трёхзначное число, которое не оканчивается ** 4....

0 голосов
116 просмотров

Надо найти минимальное положительное трёхзначное число, которое не оканчивается на 4. Выводит всегда "NO". Где ошибка?

#include
using namespace std;
#define N 5
int main()
{
long a[N];
long i, j, k, min;
for (i=0; i cin >> a[i];
min = 10000;
if (a[i] > 99 && a[i] < 1000 && a[i] > 0 && a[i] % 10 != 4 && a[i] < min ){
min = a[i];
cout << min << endl;<br> }
else
cout << "NO" << endl;<br> }


Информатика (15 баллов) | 116 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Если вопрос еще актуален.
Нужно открыть цикл снова сразу после строки 
min = 10000;
Вывод результата нужно вынести за пределы цикла, т.к. пока цикл не проверил все числа массива, результат не получен!
Если числа подходящего под условие не найдено, то переменная min как была равна 10000, так и останется равно этому значению, так что по окончанию цикла можно просто проверить, если min=10000, то результат отрицательный, и вывести NO, иначе вывести значение переменной min.
... 
min = 10000;
for (i=0; i
if (a[i] > 99 && a[i] < 1000 && a[i] > 0 && a[i] % 10 != 4 && a[i] < min)
{min = a[i];}
if (min=10000) {
cout << "NO" << end;</span>}
else cout << min << end;<br>

Одаренный (1.2k баллов)
10,984,878 вопросов
13,471,016 ответов
8,518,553 комментариев
4,909,216 пользователей