Witam!
Jestem początkującym programistą i uczę się z książki Stephena Prata "Język C++. Szkoła programowania" Wydanie 6. Mam problem z zadaniem z działu "funkcje". Mam już kod ogarniety tylko nie działa mi funkcja odwracająca kolejność. Proszę o pomoc, może o jakieś rady ;)
Treść zadania:
Funkcja fill_array () jako parametr pobiera nazwę tablicy liczb double oraz wielkośc tej tablicy. Użytkownik jest proszony o podanie wartości double, które zostaną wpisane do tablicy. Pobieraniedanych jest przerywane, kiedy tablica jest pełna lub kiedy użytkownik poda daną niebędącą liczbą. Funkcja zwraca liczbę faktycznie wprowadzonych wartości.
Funkcja show_array() jako parametr pobiera nazwę tablicy liczb double oraz wielkośd tej tablicy, po czym pokazuje zawartośc przekazanej tablicy.
Funkcja reverse_array() jako parametr pobiera nazwę tablicy liczb double oraz wielośc tej tablicy, po czym odwraca kolejnośc liczb w przekazanej tablicy.
Program ma użyc opisanych funkcji do wypełniania tablicy, wyświetlania jej, odwrócenia kolejnościjej elementów i ponownego pokazania tablicy.
#include <iostream>
using namespace std;
int fill_array(double table[], int limit);
void show_array(double table[], int limit);
int reverse_array(double table[], int limit);
int main()
{
int max;
cout << "Podaj liczbe wyswietlanych wartosci: ";
cin >> max;
double tablica[max];
fill_array(tablica, max);
show_array(tablica, max);
reverse_array(tablica, max);
cout << "Po odwroceniu..." << endl;
show_array(tablica, max);
return 0;
}
int fill_array(double table[], int limit)
{
int i;
for(i = 1; i <= limit; i++)
{
cout << "Podaj wartosc po przecinku nr. " << i << ": ";
double wynik;
cin >> wynik;
if(!cin)
{
cin.clear();
while(cin.get() != '\n')
continue;
cout << "Bledne dane, wprowadzanie danych przerwane." << endl;
break;
}
else if(wynik < 0)
break;
table[i] = wynik;
}
return i;
}
void show_array(double table[], int limit)
{
for(int i = 0; i < limit; i++ )
{
cout << "Wartosc nr. " << i+1 << ": " << table[i+1] << endl;
}
}
int reverse_array(double table[], int limit)
{
int p;
int i;
for(p = limit-1;p >= 0; p--)
{
for(i = 0; i < limit; i++)
{
table[i] = table[p];
break;
}
}
return i;
}