Cześc mam problem z zadaniem i potrzebuje pomocy oto treść

O to mój kod:
void sznur::usun()
{
// Node*tmp=pocz;
// int ilosc=1;
// float srd=0;
// int war=0;
// while(tmp!=nullptr)
// {
// if((tmp->dane+tmp->nast->nast->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;
float srd=(jeden->dane+trzy->dane)/2.0;
if(dwa->dane==srd)
{
jeden->nast = trzy->nast;
delete dwa;
ileJest--;
zaszuk=jeden;
a=zaszuk->nast;
}
else
{
if(zaszuk!=nullptr)
{
zaszuk->nast=trzy->nast;
}
else
{
pocz=trzy->nast;
}
jeden->nast=trzy->nast;
delete jeden;
delete dwa;
delete trzy;
ileJest=ileJest-3;
zaszuk=trzy;
a=zaszuk->nast;
}
}
}
//7 6 6 3 3 3 2 1 1 1 1 odp 3 3 1 1
//9 7 5 5 4 4 3 2 1 1 odp 9 5 3 1 1
problem polega na tym że nie wyświetla mi przy 1 przykładzie 3 1 1 a przy drugim 9 , 3 , 1 ,nie wiem już gdzie jest błąd czy problem jest ze średnią jeżeli tak to jak wyliczyć średnie z pierwszego i trzeciego elementu