PDA

View Full Version : mảng 2 chiều trong CCS


abb
15-04-2008, 01:19 PM
em đang lập trình cho pic ,về bãi đỗ xe tự động.
nôm na là em có 1 tòa nhà 3 tầng,mỗi tầng 3 khoang.
có 1 hệ thống cần trục để đưa xe vào 1 trong 9 khoang mà VĐK xác định khoang đó còn trống.
em dùng mảng 1 chiều 9 phần tử a[i],i=1,9 để quản lý 9 khoang đó.khoang nào trống thì a[i]=0,khoang nào có xe rồi thì a[i]=1.

nhưng có 1 vấn đề nảy sinh,là giả sử khi cần cẩu đưa xe vào khoang 2 tầng 3.ngay lập tức nó có lệnh phải xuống khoang 1 tầng 1 để lấy xe ra cho khách,thì mảng 1 chiều hình như ko có thuật toán nào để giải quyết bài toán này.

ko biết có thể dùng mảng 2 chiều đc ko bác nhỉ?
như vậy việc dịch trái,xuống tầng của cần cẩu sẽ phụ thuộc vào hiệu (i1-i2) và (j1-j2) của mảng 2 chiều a[i,j],việc lập trình sẽ đơn giản hơn nhiều.

nếu có giải pháp nào cho vấn đề của em,các bác viết hộ em cái thuật toán nhé!
thanks

namqn
15-04-2008, 05:39 PM
C hỗ trợ mảng nhiều chiều, nếu CCS C là một trình biên dịch C tốt, nó cũng phải hỗ trợ mảng nhiều chiều.

Để viết thuật toán di chuyển khi có yêu cầu, bạn cần phải có ràng buộc. Nếu không có ràng buộc thì người ta có thể di chuyển theo nhiều cách khác nhau (di chuyển trong cùng 1 tầng đến vị trí khoang thích hợp, rồi chuyển tầng, hoặc di chuyển theo cùng một vị trí khoảng đến tầng thích hợp, rồi chuyển vị trí khoảng, hoặc có thể cùng lúc di chuyển theo 2 phương). Tôi không thấy có vấn đề gì có thể gây khó khăn cho bạn.

Thân,