Dam kawałek mojego kodu. Możecie powiedzieć co jest źle??
int main() {
budowa();
for (int i = 0; i < V; i++) //wyzerowanie tablicy przechowującej dane o tym, czy wierzchołek jest odwiedzony
graf.odw[i] = 0;
cout << "Kolejnosc przegladania tego grafu w glab to: ";
for (int i = 0; i < V; i++)
if (graf.odw[i] == 0) //wywołanie funckji DFS jeśli wierzchołek nie jest odwiedzony
DFS(i);
}
Funckja "budowa" wszystko ładnie robi jak trzeba, niżej daje funkcje "DFS"
void DFS(int x) {
graf.odw[x] = 1; //Zaznaczenie jako odwiedzonego aktualnego wierzchołka
cout << x << " "; // wyświetlenie na ekran aktualnego wierzchołka
for (int i; i < V; i++)
if (graf.macierz[x][i] == 1 && graf.odw[i] == 0) DFS(i); //Dla każdego sąsiadującego wierzchołka z wierzchołkiem o indeksie x,
//który jest nieodwiedzony wywyołujemy funcję DFS
}
Jak widać powyższa funckja również ma wypsywać kolejno wierzchołki. Niestety cały czas wypisuje to samo (jaki by graf nie był) - wypisuje po kolei wierzchołki