I was trying to make this function return the highest element in the array. I input elements in the array using pointer. After the code run, it only displays the first element in the array. I tried using this code int SIZE = sizeof(ptr) / sizeof(ptr[0]); in the main function, but i got a variable redefinition error. please help
#include <iostream>
using namespace std;
double gethighest(const double ptr[], int SIZE)
{
double highest = ptr[0];
for (int count = 0; count < SIZE; count++)
{
if (ptr[count] > highest)
highest = ptr[count];
return highest;
}
}
int main()
{
double* ptr = nullptr;
int SIZE;
double value;
cout << "Enter the size of the array" << endl;
cin >> SIZE;
ptr = new double[SIZE];
for (int count = 0; count < SIZE; count++)
{
cout << "Enter the values of the array: ";
cin >> ptr[count];
while (ptr[count] < 0)
{
cout << "Invalid entry, enter a positive value: ";
cin >> ptr[count];
}
}
double highest = gethighest(ptr, SIZE);
cout << "The highest value of the array is: " << highest;
}
Aucun commentaire:
Enregistrer un commentaire