void sznur::usun(int G)
{
Node*tmp=pocz;
int ilosc=1;
int war=0;
float srd=0;
while(tmp!=nullptr)
{
if(tmp->dane%2==0)
{
srd+=tmp->dane;
ilosc++;
}
tmp=tmp->nast;
war++;
}
srd=srd/ilosc;
Node*zaszuk=nullptr;
Node*a=pocz;
while(a!=nullptr && a->nast!=nullptr && a->nast->nast!=nullptr)
{
Node*jeden=a;
Node*dwa=a->nast;
Node*trzy=a->nast->nast;
Node* szukaj = trzy->nast;
Node* poprzedni = trzy;
int licznik = 2;
if(srd>G)
{
if (zaszuk != nullptr) {
zaszuk->nast = jeden;
} else {
pocz = jeden;
}
delete dwa;
ileJest--;
zaszuk = trzy;
a = zaszuk->nast;
} else {
if (zaszuk != nullptr) {
zaszuk->nast = szukaj->nast->nast;
} else {
pocz = poprzedni->nast->nast->nast->nast;
}
delete jeden;
delete dwa;
delete trzy;
ileJest -= 3;
while (szukaj != nullptr && licznik > 0) {
if (szukaj->dane == jeden->dane || szukaj->dane == dwa->dane || szukaj->dane == trzy->dane) {
poprzedni->nast = szukaj->nast;
delete szukaj;
ileJest--;
szukaj = poprzedni->nast;
licznik--;
} else {
poprzedni = szukaj;
szukaj = szukaj->nast;
}
}
zaszuk = trzy;
a = zaszuk->nast;
}
}
}
//7 2 6 4 8 9 3 2 5 6 500 2 2 1 1 1 7
wynik mojego kodu jest 3 , 5 , 500 , 7 ,a powinien być 3,500 , 7 , zacząłem poprawiać kod i teraz pytanie bo nadal nie rozumiem jak usunąć dalsze elementy 2 i 6 coś próbowałem ale mam wątpliwośći co do else i ponim nie podoba mi się moje rozwiązanie czy ktoś mógłby mi pomóc jak to by miało wyglądać i troszeczke naprowadzić??