Нужно разобраться со стеком

Доброго времени суток... Помогите, пожалуйста, разобраться со стеком.Задание следующие : "написать программу для перестановки элементов стека x(1),x(2),x(3),...x(n)=>x(2),x(3),. ..x(n),x(1). Элементы пронумерованы в порядке их введения в стек." Нужна программа под dos, без доп. библиотек.Приведу пример программы работы со стеком. В программе вводится стек из н эллементов, и выводится на экран...
#include <iostream.h>
 
struct node
{
 float num;
 node* next;
} ;
 
//prototip
node* push(node* , float);
void printstack(node* );
node* pop(node*);
 
void main()
{
 float what;
 int n,i;
 node* top=0;
 cout<<"input n\n";
 cin>>n;
 cout<<endl;
 
 //input in stek
 cout<<"input what"<< n<<"value\n";
 for (i=1;i<=n;i++)
 {
 cin>>what;
 top= push(top, what);
 }
 
 //print stek
 printstack(top);
 int k=0;
 
 //output from stek
 while(top)
 {
 if (top->num >0)
 k++;
 top= pop(top);
 }
 cout<<"k="<< k<<"\n";
}
 
node* push(node* top, float what)
{
 node* pv=new node;
 pv->num=what;
 pv->next=top;
 return pv;
}
 
void printstack(node* top)
{
 float what;
 
 cout<<"stek:\n";
 while (top)
 {
 cout<<top->num<<" ";
 top=top->next;
 
 }
 cout<<endl;
 }
 
 node* pop(node* top)
 {
 node* pv=top->next;
 delete top;
 return pv;
 }
Помогите, кто чем может, очень нужна эта программа!!!
1 ответ

Перегоняешь этот стек в лист, потом там первый элемент ставишь за последним. И обратно лист в стек. Халяву тут не пишут, если надо код, стучись в асю.