Vấn đề in thừa dấu cách cuối dòng

Chương trình em in thừa dấu cách ở cuối dòng. Các bác cho em hỏi làm cách nào để in như trong ảnh mà không thừa dấu cách không ạ?

    #include <iostream>
    #include <cmath>
    using namespace std;
    int main ()
    {
    	int n, m, a[1000];
    	int dem=0;
    	cout<<"N = "; cin>>n;
    	cout<<"M = "; cin>>m;
    	for(int i=0; i<n; i++)
    	{
    		cout<<"a["<<i<<"]="; cin>>a[i];
    	}
    	for(int i=0; i<n; i++)
    	{
    		if(m%a[i]==0)
    		dem++;
    	}
    	if(dem==0)
    	{
    		cout<<"Trong day khong co cac so nao la uoc cua "<<m;;
    	}
    	else
    	{
    		cout<<"Cac so la uoc cua "<<m<<" la:"<<endl;
    		for(int i=0; i<n; i++)
    		{
    			if(m%a[i]==0)
    			cout<<a[i]<<" "; // ở đây
    		}
    	}
    }

Là sao bạn, mình không hiểu câu hỏi lắm :smile:

Dấu cách (còn gọi là khoảng trắng (trống)) nên chẳng nhìn thấy nó, nhất là trên Console.
Nhưng nếu là tập tin hay luồng dữ liệu (stream) thì sẽ nhận ra.
Bạn có dùng biến để đếm số lượng đấy! Giờ thêm 1 biến đếm khác để đếm khi in ra, khi nào biến đếm đến cuối (đếm khác == đếm) thì không cần in dấu cách " " nữa.

Tb: cái hình vô nghĩa! :rofl:

5 Likes

là s ạ em vẫn chưa hiểu lắm ạ

vấn đề là e in thừa dấu cách phía cuối dòng in ý ạ heehe

thì bạn cho nó chạy đến n-1 thì ko cho in khoảng trắng nữa là dc :grin:

3 Likes

=>

int count = 0;
for(int i=0; i<n; i++)
{
    	if(m%a[i]==0)
            count ++;
    		if (count < dem) cout<<a[i]<<" "; 
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?