Подделка швейцарских часов bedat ~ Porsche Design
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 т.д.вот реализовал но ничего не работает.
struct A{double k;//int a[26];vector <int> a;}.
на вход дается стек элементе которого храню каоэф массив степеней, када меня был массив инт, все работало, меня попросили написать на векторе(((так как не очень шарю С++ тем более STL запутался не могу наити ошибку...
необходимы базовые подделка швейцарских часов bedat функции типа push, pop т.д.вот реализовал но ничего не работает.