Самый маленький элемент в массиве - PullRequest
0 голосов
/ 24 января 2019

Я написал небольшую программу для поиска наименьшего элемента в массиве.Я должен использовать подобный формат, хотя есть гораздо более короткие способы сделать это.Я не могу понять, что не так с кодом.Тесты следующие: -

Тестирование наименьшее:

массив:

Ваш ответ = 2147483647

---- проход ----

массив: 0 -1 5

Ваш ответ = -1

---- pass ----

массив: -1 0 3 -10 3 100

Ваш ответ = 100

---- ошибка ----

массив: 0 0

Ваш ответ = 0

---- pass ----

array:

Ваш ответ = 2147483647

---- pass ----

int smallest(int elements[], int size) {
int i;
int temp1 = 0;
int temp2 = elements[0];
if (size <= 0)
{
  return INT_MAX;
}
else
{
for (i = 0; i<size; i++)
{
  if (elements[i] < temp1)
  {
    elements[i-1] = elements[i];
    temp2 = elements[i];
    elements[i] = temp1;
    temp1 = temp2;
  }
  else
    temp1 = elements[i];
}

return temp1;
}
}

1 Ответ

0 голосов
/ 24 января 2019

Вам нужно запомнить текущий минимум (он может начинаться равным первому элементу массива), а затем просто перебрать массив. Если текущий элемент меньше текущего минимума, измените значение текущего минимума.

...    
int min = elements[0];
int i;
for (i = 1; i < size; ++i)
    if (elements[i] < min)
        min = elements[i];
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...