template float F(Iterator begin, Iterator end) { Iterator i; node *medis; node * medis = new node ; if ((i = find(begin,end,'+')) != end) { medis.operation = *i; medis->kaire = F(begin,i); medis->desne = F(i+1,end) ; return medis; }else if ((i = find(begin,end,'-')) != end) { medis.operation = *i; medis->kaire = F(begin,i); medis->desne = F(i+1,end) ; return medis; }else if ((i = find(begin,end,'*')) != end) { medis.operation = *i; medis->kaire = F(begin,i); medis->desne = F(i+1,end) ; return medis; }else if ((i = find(begin,end,'/')) != end) { medis.operation = *i; medis->kaire = F(begin,i); medis->desne = F(i+1,end) ; return medis; }else if ((i = find(begin,end,'^')) != end) { medis.operation = *i; medis->kaire = F(begin,i); medis->desne = F(i+1,end) ; return medis; }else { string str1(begin,end) ; istringstream stream(str1); float i; stream >> i; medis.value = i; return medis; } }