Witam.
Próbuję przetestować program zajmujący się wieżami Hanoi, jednak cały czas zwraca mi wynik 1.
Możliwe, że problem jest w main-ie. Nie wiem czy dobrze używam funkcji vector.
Jak mam go uruchomić żeby działał dobrze?
#include <iostream>
#include <vector>
using namespace std;
void move(int number_of_disks, int source, int dest, vector <int> free_peg);
int main()
{
move(10, 1, 5, vector <int> (3, (2,3,4)));
cout << move;
}
void move(int number_of_disks, int source, int dest, vector <int> free_peg)
{
int p, middle, g;
int moves;
if (1 == number_of_disks)
{
moves++;
int move_top_disk (string source, string dest);
}
else
{
moves++;
if(free_peg.size() >= 2)
p = number_of_disks/2;
else
p = number_of_disks - 1;
//Move top "p" disks from peg 1 to peg i
middle = free_peg.back();
free_peg.pop_back();
free_peg.push_back(dest);
move(p, source, middle,free_peg);
//Move "n - p " disks from peg 1 to another peg
free_peg.pop_back();
move(number_of_disks - p, source, dest, free_peg);
//Move p from current peg to the final peg
free_peg.push_back(source);
move(p, middle, dest, free_peg);
}
}