Я пытаюсь написать функцию, которая вернет наименьшее значение массива. До сих пор у меня это, но все, что он возвращает, равно 0.наименьшее значение массива
Я не вижу, как он вернет 0, так как я использую цикл for для цикла через массив. Возможно, это не циклическое перемещение по значениям массивов, как я думаю. Может ли кто-нибудь уточнить логику и ошибку в этом коде?
#include <iostream>
using namespace std;
int newArray[9] = {4,5,9,3,6,2,1,7,8};
int minArray()
{
int index = 1;
int minimum;
for (int i = 0; i < 9; i++)
{
if (newArray[i] > newArray[index])
{
minimum = newArray[index];
}
index++;
}
return minimum;
}
int main()
{
cout << "original array:\n ";
for (int i = 0; i < 9; i++)
{
cout << newArray[i] << ", ";
}
cout << "minimum value of array: ";
cout << minArray();
return 0;
}
Было бы очень поучительно пройти через программу в отладчике и наблюдать за тем, что происходит на каждом шагу. Я так думаю, вы узнаете намного больше, чем если кто-то отметит все ошибки. – NPE
Подумайте, какие значения вы сравниваете на каждом шаге. Являются ли эти значения, которые вы хотите сравнить? Я бы рекомендовал использовать отладчик или просто попытаться проработать полный цикл кода, операцию по работе, с листом бумаги. –
Кроме того, вы должны инициализировать минимальное значение до известного значения. – OldProgrammer