почему минимальное число в массиве на выходе показывает ошибку с циклами

#c #arrays

Вопрос:

Я только начал учиться программировать, так что это очень простой вопрос. Приведенный ниже код выдает некоторое случайное число minimum на выходе, но получает правильный ответ maximum .

 int array[6]={1,2,3,4,5,6};
   
int maximum=INT_MIN;

int minimum=INT_MAX;
  

for(int i=0;i<6;i  ){

    if(array[i]>maximum){
         maximum=array[i];
    }
    else if(array[i]<minimum){
         minimum=array[i];
    }
}
cout<<maximum<<endl;


cout<<minimum<<endl;
 

Комментарии:

1. Как получилось, что минимум определяется тем, обнаружен максимум или нет?

Ответ №1:

Вы использовали else if обновление minimum , поэтому minimum оно не инициализируется при maximum обновлении. Вам следует удалить else его .

 
for(int i=0;i<6;i  ){

    if(array[i]>maximum){
         maximum=array[i];
    }
    if(array[i]<minimum){ // remove "else"
         minimum=array[i];
    }
}