Witam,
Mam zmodyfikować funkcję tak żeby zamiast zwracać aktualną liczbę elementów zwracała wskaźnik elementu znajdującego się za ostatnio wypełnionym elementem.
Funkcja do modyfikacji:
int fill_array(double ar[], const int limit)
{
double temp;
int i;
for(i = 0; i < limit; i++)
{
cout << "Podaj wartość nr " << (i+1) << ": ";
cin >> temp;
if(!cin)
{
cin.clear();
while(cin.get() != '\n')
continue;
cout << "Błędne dane, wprowadzanie danych przerwane.\n";
break;
}
else if (temp < 0)
break;
ar[i] = temp;
}
return i;
}
Moja modyfikacja nie wiem czy poprawna : (Jeśli zła to proszę o wytłumaczenie co jest nie tak i co zwraca)
double *fill_array(double ar[], const int *limit)
{
double temp;
int i;
for(i = 0; i < *limit; i++)
{
cout << "Podaj wartość nr " << (i+1) << ": ";
cin >> temp;
if(!cin)
{
cin.clear();
while(cin.get() != '\n')
continue;
cout << "Błędne dane, wprowadzanie danych przerwane.\n";
break;
}
else if (temp < 0)
break;
ar[i] = temp;
}
return ar + *limit;
}