поиск наименьшего неотрицательного числа
В строчке с continue преподаватель сказал не рационально, я новичок не очень понимаю. Спросил, что нужно исправить, она сказала не писать дурь. Как нужно сделать правильно?
#include <stdio.h>
#include <conio.h>
int main(void)
{
int i=0;
float min,a;
printf("Enter 15 numbers\n");
if (scanf("%f", &a) != 1) { printf("Mistake. You entered a letter"); }
if (scanf("%f",&min) !=1)
{
printf("Mistake. You entered a letter");
}
i++;
for (i=0; min < 0 && i < 15; i++) scanf("%f", &min);
for (i=0;i<15;i++)
{
scanf("%f",&a);
if (a < 0)
{
continue;
}
else if (a < min)
{
min = a;
}
}
if (min<0)
{
printf("There is no right answer");
}
else if (min>=0)
{
printf("Answer %f",min);
}
_getch();
return 0;
}
Ответы (1 шт):
я новичок не очень понимаю.
составьте тогда алгоритм в виде текстовых инструкций
наименьшее число = -1 - это нужно чтобы в конце алгоритма понять, а были ли в последовательности вообще неотрицательные числа
пройти по всем элементам последовательности
если текущий элемент положительный И текущий элемент меньше минимального числа ИЛИ минимальное число равно -1 - присвоить минимальному числу значение текущего элемента
ВСЕ
возможна сложность в понимании этапа 3)
когда текущий элемент является минимальным из всех рассмотренных ранее
ранее вообще не рассматривались элементы - это как раз случай, когда минимальное значение равно -1 (тому, что установили на этапе 1)
если текущий элемент неотрицательный (потому что только такие мы и ищем) и он меньше минимального значения