Cześć!
Mam następujące zadanko: Napisz funkcję, która otrzymuje dodatnią liczbę całkowitą n oraz wskaźnik na n-elementową tablicę o elementach typu int i odwraca kolejność elementów tablicy. W pokazanym poniżej programie posłużyłem się funkcją swap, jednak nie do końca spełnia moja one oczekiwania (zapewne dlatego, że nie wiem jak jej używać...). Czy bylibyście tak mili i powiedzieli mi co jest nie tak/ zaproponowali inne rozwiązanie, jeżeli to wydaje Wam się skrajnie błędne?
#include <iostream>
#include <algorithm>
using namespace std;
void odwroc(int n,int *tab)
{ cout<<"Przed odwroceniem: "<<endl;
for(int i=0; i<n; i++)
{
cout<<*(tab+i)<<" ";
}
cout<<endl<<endl;
cout<<"Po odwroceniu: "<<endl;
for(int i=0; i<n; i++, n--)
{
swap(*(tab+i), *(tab+n));
}
};
int main()
{ int tab[100];
int wartosc;
int n=0;
cout<<"W celu zakonczenia wpisywania elementow do tablicy wpisz dowolna litere."<<endl;
do
{ cout<<"Podaj element: "<<endl; cin>>wartosc;
tab[n]=wartosc;
if(cin.good())
n++;
else
break;
}while(1);
cout<<endl<<endl;
odwroc(n, tab);
return 0;
}