Witam!
Mam problem polegający na tym, że gdy wywołuje dwukrotnie tą samą funkcje w mainie program sie psuje i w ogóle nie działa. Tzn: Kompiluje program z jednokrotnym wywołaniem funkcji - program działa bez zarzutów.
int granica1 = flaga_polska(tab,0,*p);
// int granica2 = flaga_polska(tab,*p,*q);
// int granica3 = flaga_polska(tab,*q,liczba_bankomatow);
pokaz_tablice(tab,0,liczba_bankomatow);
natomiast gdy odslashuje( usune // - nie wiem jak to powiedzieć) drugie lub trzecie wywołanie :
int granica1 = flaga_polska(tab,0,*p);
int granica2 = flaga_polska(tab,*p,*q);
// int granica3 = flaga_polska(tab,*q,liczba_bankomatow);
pokaz_tablice(tab,0,liczba_bankomatow);
Program się psuje.
Czym może to być spowodowanie?
Załączam ciało funkcji
int flaga_polska(bankomat *tab,int poczatek, int koniec)
{
int i=poczatek, j=koniec-1;
while(i<j)
{
while(tab[i].on_off ==0 && i<j) {i++;}
while(tab[j].on_off ==1 && i<j) {j--;}
if(i<j)
{
swap(tab[i],tab[j]);
i++; j--;
}
}
if(i<j)
{
return i+1;
} else return i;
Psuje się czyli włącza się konsola, ale nie wypisuje żadnych wartości