Jeżeli chodzi Ci o to, by wczytać elementy do wektorów to raczej tak to powinno wyglądać:
std::cin >> (*direction)[i] >> (*amountOfSteps)[i];
Gdybyś przekazywał wektory przez referencje a nie przez wskaźniki, to wtedy operator dereferencji (gwiazdka) nie byłby potrzebny i mógłbyś napisać normalnie, czyli tak:
void fillSources(std::vector<int>& direction, std::vector<int>& amountOfSteps, int tips)
{
for (int i = 0; i < tips; ++i)
std::cin >> direction[i] >> amountOfSteps[i];
}