Tại sao hàm xuất các phần tử của Queue không chạy đúng

Sao không in ra được các phần tử vừa nhập ạ?
mọi người giúp em với ạ
Code:

#include<iostream>
using namespace std;
class MyQueue
{
private:
	int Front;
	int Rear;
	int Q[10];
public:
	MyQueue()
	{
		Front = -1;
		Rear = -1;
		for(int i=0;i<5;i++)
		{
			Q[i] = 0;
		}
	}
	bool IsEmpty()
	{
		if(Front == -1 && Rear == -1)
			return true;	
		else 
			return false;
	}	
	bool IsFull()
	{
		if(Rear == 4)
			return true;
		else 
			return false;
	}
	void Enqueue(int value)
	{
		if(IsFull() == true)
		{
			cout<<"\nHang doi day !"<<endl;
		}
		else if(IsEmpty() == true)
		{
			Rear = Front = 0;
			Q[Rear] = value;
		}
		else
		{
			Rear++;
			Q[Rear]=value;
		}
	}
	int Dequeue()
	{
		int x;
		if(IsEmpty() == true)
		{
			cout<<"\nHang doi rong !"<<endl;
			return 0;
		}
		else if(Front == Rear)
		{
			x = Q[Front];
			Q[Front] = 0;
			Rear = -1;
			Front = -1;
			return x;
		}
		else
		{
			x = Q[Front];
			Q[Front] = 0;
			Front++;
			return x;
		}
	}
	void Input()
	{
		int n,value;
		MyQueue mq1;
		cout<<"\nNhap vao so luong queue: ";
		cin>>n;
		for(int i=0;i<n;i++)
		{
			cout<<"\nNhap vao gia tri cho tung Queue: ";
			cin>>value;
			mq1.Enqueue(value);
		}
	}
	void Output()
	{
		MyQueue mq1;
		cout<<"\nQueue: ";
		for(int i=0;i<5;i++)
		{
			cout<<" "<<Q[i];
		}
	}
};
int main()
{
	MyQueue mq1;
	int value,n;
	mq1.Dequeue();
    mq1.Input();
	mq1.Output();
	return 0;
}

Vô link dưới để biết cách post code dung markdown trước nha bạn. :slight_smile:

Cách post Code dùng Markdown trong Category Programming

2 Likes

Mình mời ngươif mới,nên chưa biết,mình sửa rồi
Bạn xem lỗi ở đâu cái dc không?
nó k xuất ra ra màn hình những cái mình nhập

Mình thấy bạn có vẻ chưa nắm vững được kiến thức về class nhỉ. :slight_smile:

Bạn nên xem lại phần này đi nha.

Còn tại sao nó không in ra như ý bạn thì là do bạn nhập vào queue trong input() nhưng in ra là queue ngoài main(). :slight_smile:

2 Likes

mình dùng mq1 hết mà

mình đang học tới phần này,nên cũng k rõ?
mong bạn giúp đỡ với ạ

Cùng tên nhưng khác họ. :slight_smile:

Như bạn đi đấm thằng Nguyễn Văn A mà lại xin lỗi thằng Lê Văn A. :smile:

2 Likes

thật sự mình vẫn chưa hiểu dc.
mk tạo thêm 1 hàm input để nhập và 1 hàm output để xuất
xong mình gọi lại hai hàm kia thôi,sao k in ra dc vậy.bạn có thể giúp mình với được không!

Nằm trong chung 1 class rồi thì trong các phương thức bạn đâu cần phải đặt biến ‘MyQueue mq1’ làm gì.

3 Likes

Trong hàm input() á.

Bạn có khai báo một cái queue rồi nhập vô nó.

Chứ không phải cái queue ban đầu. :slight_smile:

3 Likes

OK
Mình tìm ra lỗi và fix được rồi cảm ơn bạn nha

1 Like

bạn xem luôn lỗi đâu vậy:
Vấn đề là mình có 1 đoạn code:

  1. Tạo 1 Source file thường thì chạy ok.
  2. Tạo 1 project thì nó chạy sai không giống kết quả ở cách 1 nó bị dư số 0.

Phần code:

  1. Source:
    http://cpp.sh/56wsa
  2. Tách riêng:
    file.cpp :http://cpp.sh/3afmi
    main: http://cpp.sh/6ecsh

2 phần code trên thì giống nhau cả, mình chỉ cắt phần cpp riêng mà main riêng
Mình cũng không hiểu nó bị gì? Mong mọi người giúp đỡ mình với ạ
Với thêm khi code kiểu tạo project trên DevC bị lỗi là:
Mình sửa phần cpp rồi mà khi compile thì nó vẫn k nhận cái mình sửa mà phải thay đổi biến bên hàm main lại rồi compile thì nó mới hiểu là code đã được thay đổi và chạy theo code mới?

Cái này bạn lập topic rồi mà. :slight_smile:

Khi nào có ng rảnh họ sẽ xem cho bạn. :slight_smile:

2 Likes

Câu 1 2 phần code nó giống nhau hoàn toàn
mình chỉ tạo project nên tách ra thành 2 thôi,nhưng không hiểu sao mà vẫn k chạy được

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?