G
GladiatoR24
Доброго времени суток... Помогите, пожалуйста, разобраться со стеком.
Задание следующие : "написать программу для перестановки элементов стека x(1),x(2),x(3),...x=>x(2),x(3),...x,x(1). Элементы пронумерованы в порядке их введения в стек." Нужна программа под dos, без доп. библиотек.
Приведу пример программы работы со стеком. В программе вводится стек из н эллементов, и выводится на экран...
Помогите, кто чем может, очень нужна эта программа!!!
Задание следующие : "написать программу для перестановки элементов стека x(1),x(2),x(3),...x=>x(2),x(3),...x,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;
}
Помогите, кто чем может, очень нужна эта программа!!!