PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) (http://www.picvietnam.com/forum/forumdisplay.php?f=12)
-   -   mảng 2 chiều trong CCS (http://www.picvietnam.com/forum/showthread.php?t=2254)

abb 15-04-2008 01:19 PM

mảng 2 chiều trong CCS
 
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,


Múi giờ GMT. Hiện tại là 09:13 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam