Подделка швейцарских часов bedat ~ Porsche Design

подделка швейцарских часов bedat void st_vid(stack <A> &aS2){stack <A> tmp,tmp1,tmp2,tmp3;int d=0,i=0,j=0;tmp=aS2;tmp1=aS2;/* while(!aS2.empty()){A B=aS2.top();tmp.push(B);tmp1.push(B);aS2.pop();}*///полученный стек копируем два других,затем извлекаем из одного стека элемент, расскидываем большие меньшие его//(в смысле станд выода)из другого отдельные стеки равный ему удаляем,получается своеобразная сортировкаwhile(!tmp.empty()){A B=tmp.top();//cout<<B.k<<'\n';while(!tmp1.empty()){A C=tmp1.top();int s=0;for(i=0;i<26;i++){if(B.a[i]<C.a[i]){i=26;}if(B.a[i]>C.a[i]){i=28;}cout<<C.k<<'\n';if(B.a[i]==C.a[i]){d++;}}//cout<<i<<'\n';if(d!=26){if(i==27){tmp2.push(C);}if(i==29) {tmp3.push(C);}}tmp1.pop();d=0;}tmp3.push(B);while(!tmp2.empty()){A Q=tmp2.top();tmp1.push(Q);tmp2.pop();}while(!tmp3.empty()){A Q=tmp3.top();tmp1.push(Q);tmp3.pop();}tmp.pop();}while(!tmp1.empty()){A C=tmp1.top();aS2.push(C);tmp1.pop();}}. struct A{double k;//int a[26];vector <int> a;}. на вход дается стек элементе которого храню каоэф массив степеней, када меня был массив инт, все работало, меня попросили написать на векторе(((так как не очень шарю С++ тем более STL запутался не могу наити ошибку... необходимы базовые подделка швейцарских часов bedat функции типа push, pop т.д.вот реализовал но ничего не работает.

Хостинг от uCoz