Code tìm vị trí sau n lần di chuyển trái phải bị sai

Nam đang học thể dục nên bị thầy giáo phạt. bạn Nam đứng nghiêm, khi thầy hô “trái” thì Nam bước sang trái một mét, thầy hô “phải” thì Nam bước sang phải một mét. Hỏi sau n lần thầy hô như vậy thì bạn Nam cách xa vị trí ban đầu bao nhiêu mét?

Cho em hỏi vì sao em code nó không ra vậy ạ?. Em cảm ơn.

#include<iostream>
using namespace std;
int main()
{
	int n; 
	cout << "\n nhap n: "; 
	cin >> n;
	int l; 
	int a; 
	int la= 0;
	int lb = 0;  
 for (int i = 1 ; i<=n;i++) {
 	cout << "\n 1 la sang trai, 2 la sang phai: "; 
   cin >> l; 
   if (l==1&&la>lb) {
   	la++; 
   	la-=lb; 
   	lb=0; 
   }
   else if (l==1) { 
      la++; 
   }
   if (l==2&&lb>la){
   	lb++;
        lb-=la;
		la=0;   
   } 
   else if (l==2){ 
      lb++;
   }
 }
if (la==lb) { 
   a=0; 
} 
else if (la>lb) { 
   a=la; 
}
else if (lb>la) { 
  a=lb; 
}
    
 cout << "\n ban do dung  cach vi tri ban dau la "<<a<<" met: "; 
	return 0; 
}

Nam ở nhà vì hôm đó Nam cúp học.

5 Likes

Dùng số âm cho dễ :smiley:

6 Likes

Đặt quy ước trái - phải cho số có dấu.
Vd: khi qua trái thì trừ (-) 1 mét, qua phải thì cộng (+) 1 mét. Cứ thế mà tính. Sau khi xong thì lấy trị tuyệt đối là có kết quả.

5 Likes

Làm theo 2 anh em ra rồi ạ, em cảm ơn :smiley:

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