Cześć mam problem z funkcją usuń oto treść zadania
Kod mojej funkcji wygląda tak
void sznur::usun(int K)
{
Node*zaszuk=nullptr;
Node*szuk=pocz;
while(szuk!=nullptr)
{
Node*koniec=szuk;
Node*poprzedni=szuk->nast;
int c=1;
while(poprzedni!=nullptr && koniec->dane%K==0)
{
c++;
koniec=poprzedni;
poprzedni = poprzedni->nast;
}
if(c>K)
{
Node*killer=szuk;
szuk=poprzedni;
if(zaszuk!=nullptr)
{
zaszuk->nast=poprzedni;
}
else
{
pocz=poprzedni;
}
delete killer;
ileJest--;
}
else
{
zaszuk = koniec;
szuk = poprzedni;
}
}
}
//10 10 10 9 9 9 8 8 6 5 4 3 2 2 1 1 K=2 -> 9 9 4 3 1
//6 6 6 3 2 1 1 K=3 -> 1 1
//10 10 9 8 8 8 7 6 6 5 4 4 K=2 -> pusty
problem pojawia się przy ostatnim sznurze który powinien być pusty a wg, mojego rozwiązania wyświetla ostatnie dwie liczby sznura 4 , 4 pytanie gdzie źle zrobiłem rozwiązanie kodu gdzie należy poprawić kod proszę o pomoc z góry dziękuje za pomoc i przepraszam za treść jako screen