Когда я пытаюсь использовать мою функцию для большей, она возвращает неверное значение.Программа с наибольшей функцией массива
#include <iostream>
#include <iomanip>
using namespace std;
int largest(int[], int);
main()
{
const int size = 3;
int a[size];
for (int i = 0; i < size; i++)
{ cout << "Enter an array element ";
cin >> a[i];
}
int large = largest(a,size);
cout << "Largest is " << largest;
return 0;
}
int largest (int a[], int size)
{
int largest; largest = a[0];
for (int i = 1; i < size; i++)
{
if(a[i] > largest)
{
largest = a[i];
return largest; }
}
}
Переместить 'return most;' в конец функции (после цикла). –
Это не проблема, но, как вопрос стиля, 'int most; наибольшее = a [0]; 'должно быть' int most = a [0]; '. Глупо создавать неинициализированное значение и сразу присваивать ему значение. –
Проблема здесь: 'cout <<" Largest is "<< наибольший;'. Вы печатаете адрес функции, а не наибольшее число, которое было бы 'cout <<" Largest is "<< large;' – Bort