• Vui lòng đọc nội qui diễn đàn để tránh bị xóa bài viết
  • Tìm kiếm trước khi đặt câu hỏi

Giúp thuật toán chuyển mảng 2 chiều thành 1 chiều

Đây là nơi để các bạn trao đổi về cấu trúc dữ liệu và giải thuật

Điều hành viên: Điều hành

Hình đại diện của người dùng
Zeroplus
Guru
Guru
Bài viết: 546
Ngày tham gia: T.Bảy 16/04/2011 11:31 pm
Đến từ: Gò Dầu - Tây Ninh
Has thanked: 6 time
Been thanked: 98 time
Liên hệ:

Giúp thuật toán chuyển mảng 2 chiều thành 1 chiều

Gửi bàigửi bởi Zeroplus » T.Ba 19/07/2011 6:15 pm

Trong hình, mình có 1 mảng 2 chiều : dọc từ 0 -> 7 và ngang từ 0 - > 7

Mình muốn chuyển nó sang mảng 1 chiều:
Hàm giải sử là :Func (x,y)
khi cho vào giá trị x là số ở cột dọc và giá trị y là số ở cột ngang nó sẽ cho ra số ô tương ứng

ví dụ nhập vào Func(0,7) => cho ra số 8 , Func(1,0) => số 9 , Func(7,7) => 64

Mọi người xem giúp cái thuật toán này với, cảm ơn :(
Tập tin đính kèm
array.png



gatoi_it
Thành viên trung thành
Thành viên trung thành
Bài viết: 207
Ngày tham gia: T.Tư 26/03/2008 6:10 pm
Đến từ: Quê cha đất tổ
Been thanked: 4 time
Liên hệ:

Re: Giúp thuật toán chuyển mảng 2 chiều thành 1 chiều

Gửi bàigửi bởi gatoi_it » T.Ba 19/07/2011 6:58 pm

Viết tạm mấy cái này, ko hiểu yêu cầu của ông lắm! hic
  1. <?php
  2. $arr = array();
  3. $i=0;
  4. $j=0;
  5. $n=1;
  6.  
  7. for($i=0;$i<=7;$i++){
  8.     for($j=0;$j<=7;$j++){
  9.         $arr[$i][$j] = $n;
  10.         $n++;
  11.     }
  12. }
  13. echo VL(1,0);
  14. function VL($x,$y){
  15.     global $arr;
  16.     return $arr[$x][$y];
  17. }
  18. ?>

Hình đại diện của người dùng
VBNewbie
Thành viên tích cực
Thành viên tích cực
Bài viết: 113
Ngày tham gia: T.Bảy 29/03/2008 7:13 pm
Đến từ: Computer
Been thanked: 3 time
Liên hệ:

Re: Giúp thuật toán chuyển mảng 2 chiều thành 1 chiều

Gửi bàigửi bởi VBNewbie » T.Ba 19/07/2011 7:04 pm

  1. Function Vitri(a as byte, b as byte)
  2. Vitri = (a*8)+(b+1)
  3. End Function
  4.  

:))

Hình đại diện của người dùng
Zeroplus
Guru
Guru
Bài viết: 546
Ngày tham gia: T.Bảy 16/04/2011 11:31 pm
Đến từ: Gò Dầu - Tây Ninh
Has thanked: 6 time
Been thanked: 98 time
Liên hệ:

Re: Giúp thuật toán chuyển mảng 2 chiều thành 1 chiều

Gửi bàigửi bởi Zeroplus » T.Ba 19/07/2011 7:11 pm

Code rất gọn, cám ơn bạn


Quay về “Cấu trúc dữ liệu và giải thuật”

Đang trực tuyến

Đang xem chuyên mục này: Không có thành viên nào trực tuyến.1 khách