Em chào mọi ng!
Cho em hỏi cách đọc file rồi lưu vào Stack tạo bằng linked list với ạ.
Cho em hỏi 2 vấn đề ạ.
-
Em đọc file thì hàm đọc có tham số là tên file kiểu
string filename-> chương trình báo lỗi, còn nếu đặt làchar* filenamethì lại được là sao ạ? -
Các bác sửa lỗi giúp e sao để nó hiện ra màn hình sau khi đọc từ file ạ.
Em đội ơn các bác::)))#include
#include
#includeusing namespace std;
struct node{
int data;
node* next;
};struct stack{
node* top;
};//khoi tao
void init(stack s){
s.top = NULL;
}//ktra rong
bool isempty( stack s){
if( s.top == NULL)
return true;
else
return false;
}//tao 1 node
node* makenode( int x){
node *p = new node;if( p == NULL) exit(1); else{ p->data = x; p->next = NULL; } return p;}
void push(stack s, int x){
node *p = makenode(x);
if( isempty(s))
s.top = p;
else
{
p->next = s.top;
s.top = p;
}
}//ham nhap =>> tao stack
stack newstack( char* filename ){
stack s;
int x;
fstream f;
f.open( filename ,ios::in );
if( f == 0 ){
cout<<“Khong timm thay file!”<<endl;
exit(1);
}
else
{
while( ! f.eof() ){
node *p;
f>>p->data;
p->next = s.top;
s.top = p;
}
}return s;}
void printout(stack s){
if( ! isempty (s)) { node *p = s.top; while( p != NULL){ cout<<" "<<p->data; p = p->next; } }}
int main()
{
stack s;
init(s);
isempty(s);
newstack(“lab3_b1.txt”);
printout(s);return 0;}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?