Zaimplementowałem algorytm wyszukiwania binarnego i wyszukuje mi tylko niektóre elementy tablicy.
Czy ktoś mógłby wskazać mi gdzie robię błąd?
oto mój void wyszukujący
void wysz_binarne()
{
int l, p, sr;
cout<<"Podaj imie: ";
getline(cin,szukana);
transform(szukana.begin(),szukana.end(),szukana.begin(),::tolower);
l=0;
p=licznik_pies-1;
while(l<=p)
{
sr = (l + p)/2;
if(tablica_pies[sr] -> imie == szukana)
{
tablica_pies[sr] -> pokaz();
getchar();
return;
}
if(tablica_pies[sr] -> imie > szukana)
p = sr - 1;
else
l = sr + 1;
}
cout<<"nie odnaleziono w bazie";
getchar();
return;
}