Witam.
Mam problem z programem, który wyszukuje cykl Eulera w grafie. Utworzenie macierzy, sprawdzenie warunków, poprawienie grafu (aby miał parzysty stopień wierzchołka) działa poprawnie nawet dla większych grafów, ale sama funkcja szukania cyklu wyłącza się (bez żadnego komunikatu o błędzie) przy grafie reprezentowanym przez macierz sąsiedztwa o rozmiarze 500x500.
Funkcja wygląda tak:
void DFSEuler(int wierzcholek)
{
int i=0;
while(i<rozmiar)
{
while((macierz[wierzcholek][i]!=1)&&(i<rozmiar))
{
i++;
}
if(i<rozmiar)
{
macierz[wierzcholek][i]=0;
macierz[i][wierzcholek]=0;
DFSEuler(i);
}
}
printf("%d, ",wierzcholek);
}
I wywoływana jest dla pierwszego wierzchołka grafu.
Ma ktoś pomysł dlaczego program się wyłącza?