30/09/2018, 20:50
STACK- nhập xâu kí tự
mình nhạp xâu nhwung khi in ra lại toàn in ra số. mn xem giúp e lỗi ở đâu ạ.
#include<iostream>
#include<string.h>
using namespace std;
struct node{
int data;
struct node *next;
};
typedef struct node *stack;
void init(stack &s){
s=NULL;
}
node *getnode(char x){
node *p=new node;
p->data=x;
p->next=NULL;
return p;
}
int empty(stack s){
if(s==NULL) return 1;
return 0;
}
void push(stack &s,char x){
node *p,*q;
p=getnode(x);
if(s==NULL) {
s=p;
}
else {
q=s;
p->next=q;
s=p;
}
}
node *pop(stack &s){
node *q;
if(empty(s)) cout<<" stack rong.";
else {
q=s;
cout<<q->data;
s=s->next;
delete q;
}
return s;
}
void hienthi(stack &s){
node *q;
if(empty(s)) cout<<"Stack rong.";
else {
while(s->next!=NULL){
cout<<s->data<<" ";
s=s->next;
}
cout<<s->data;
}
}
void nhap(stack &s,string str){
// cout<<" Nhap xau: "; getline(cin,str);
for(int i=0;i<str.size();i++)
push(s,str[i]);
}
int main(){
string str;
str="Xau ki tu";
stack s;
init(s);
nhap(s,str);
cout<<"stack: ";
hienthi(s);
}
Bài liên quan
sửa lại kiểu của
data
làchar
là xongà, v mà mk k nhìn ra. thank bạn nhiều nha.