PDA

View Full Version : Co` bàn toán này nhờ các bạn giải giúp với ?



lin@prepaid
09-11-2002, 14:32
Nhập vào một mảng 2 chiều . Nếu có phần tử không trùng nhau thì mảng gọi là không hợp lệ . Ngược lại là mảng hợp lệ . Và xét tính hợp lệ của Mảng .
Mình là dân mới vào nghề, kính mong các cao thủ chỉ giúp với bằng source code . Minh chân thành cảm tạ .

White_Rose
09-11-2002, 20:02
hi hi, vậy có nghĩa là mảng chỉ hợp lệ nếu mọi phần tử đều bằng nhau hết -----> hàm sau trả về True nếu mảng hợp lệ, trả về False nếu không hợp lệ
dim a (1 to 100,1 to 100) as integer
Function Hop_le() as boolean
Dim i, j
For i=1 to 100
for j=1 to 100
if a(i,j)<>a(1,1) then
Hop_le=false
exit function
end if
next j
next i
Hop_le=true
end function

Bá Hỷ
19-11-2002, 11:33
KHi bài toán chỉ nói là "tồn tại" trong một mảng thì không nên dùng lệnh FOR , vì nó sẽ chạy hết mảng , mất thời gian . For chỉ dùng khi biết trước là ta sẽ dừng khi nào , trong khi while sẽ lặp cho đến khi ta tìm thoã điều kiện . Không cần phải chạy hết vòng lặp chi cho nó phức tạp .
That's my idea , what is yours ?










----------------------------------------------------------------------------------
:exclaim: Có gì từ từ thảo luận nha bạn. Thảo luận kiểu này lần sau người ta ngại đưa ý kiến lắm (by Allbegins)

fabio
19-11-2002, 15:18
Cái ông Bá hỷ gì đó ơi, Ông có đọc kỹ đoạn chương trình đó chưa mà vội lên tiếng chê bai. Đúng là mắt nhắm mắt mở....

White_Rose
19-11-2002, 15:40
That's my idea , what is yours ?
mình nghĩ đoạn code chạy ngược lại với những gì bạn nói :)

phangtomat
20-11-2002, 00:06
Bá Hỷ chửa đọc xong thì đừng mở mồm nhá. Không thấy cái "Exit Function" đấy à.

Bá Hỷ
20-11-2002, 20:15
Đọc lại bài tui viết đi , chỗ nào là chê bai hả ? Tui nói trên đây là nguyên tắc chung khi lập trình , cho dù VB hay bất kỳ cái khác .
Tui chả chê bai ai cả , tui cũng không mở mắt hay nhắm mát khi đọc code của ông nào bên trên cả .
Hell with those

White_Rose
20-11-2002, 23:15
Viết như vậy là dỡ ẹt :)
Nhưng mình đồng ý với ý kiến của bạn.

Allbegins
22-11-2002, 00:43
----------------------------------------------------------------------------------
:exclaim: Có gì từ từ thảo luận nha các bạn.
Thảo luận kiểu này lần sau người ta rất ngạiđưa ý kiến lắm (by Allbegins)
Bình tĩnh, chuyện đâu còn có đó.

Allbegins
22-11-2002, 00:58
Dim a (1 to 100,1 to 100) as integer

Function Hop_le() as boolean
&nbsp;&nbsp;&nbsp;Dim i as integer ' nên khai báo như vậy
&nbsp;&nbsp;&nbsp;Dim j as integer
&nbsp;&nbsp;&nbsp;i=1
&nbsp;&nbsp;&nbsp;j=1
&nbsp;&nbsp;&nbsp;'neu muon tong quat hon thi dat them tham so MaxArr
&nbsp;&nbsp;&nbsp;do while i<=100 'co the thay the 100 boi MaxArr
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;do while j<=100
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if a(i+1,j+1)<>a(1,1) then
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Hop_le=false
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Exit function
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;j=j+1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;end if
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i=i+1
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;loop
&nbsp;&nbsp;&nbsp;loop
&nbsp;&nbsp;&nbsp;Hop_le = true
&nbsp;&nbsp;&nbsp;end function

Mình nghĩ cách này vẹn cả đôi bề

XSolustion
29-11-2002, 01:54
Các bạn nên đọc lại đề, Nếu có phần tử không trùng nhau là không hợp lệ, chứ không phải không trùng với phần tử đầu ví dụ:
01 02 01 03 02 03 : Mãng này hợp lệ, vì có phần tử trùng.
01 02 01 02 03 02 : Mãng này không hợp lệ vì phần tử 03 không trùng.

Nên xem lại,