Musze napisać kod do problemu wieży hanoi. Chce napisac go rekurenczyjnie.Robie to na vectorach. Mam vectory a,b,c (int) oznaczajace kolejno slupki 1,2,3. W mainie wczytuje n, i potem n razy push_back do vectora a liczbe n-i; wiec po tej operacji np dla n=3 tak wyglada vector a:
1
2
3
Pisze pionowo aby latwiej było wyobrazic sobie wieże. (im wieksza liczba tym wieksza szerokosc)
No i teraz moj problem chce napisac funkcje ktora przeniesie mi te wartosci z kontenera a do kont c zgodnie z zasadami problemu. Rozumiem jak działa ten algorytm ale nie wiem jak go napisac. Na razie moja proba (bo podobne przeczytałem na wikipedia) wygląda tak:
void hanoi(vector<int>& a,vector<int>& b,vector<int>& c,int n)
{
if(n>0)
{
hanoi(a,c,b,n-1);
swap(a[a.size()-1],c[c.size()-1]);
hanoi(b,a,c,n-1);
}
}
Prosze o pomoc