Diễn đàn tin học Nguyễn Văn Linh

The second house for every one
 
IndexTrợ giúpTìm kiếmThành viênĐăng kýĐăng Nhập

Share | 
 

 Đố một bài toán, xếp mảng

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down 
Tác giảThông điệp
littlelee
Admin
Admin


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 21
Đến từ : Nghĩa địa

Bài gửiTiêu đề: Đố một bài toán, xếp mảng   Mon 08 Mar 2010, 20:49

Hì hì, vì đang nói đến xếp mảng mới nhớ đến bài này. Bài hay tỉ nha ^^.

Cho hai mảng a và b đã xếp tăng dần rồi. Hai mảng có số lượng phần tử có thể khác nhau. Hãy chỉ dùng một vòng lặp, loại nào cũng được, để gộp hai mảng trên vào mảng c theo đúng thứ tự tăng dần.

Cố gắng suy nghĩ nha.
Về Đầu Trang Go down
hoangtin14
Mèo con


Tổng số bài gửi : 96
Join date : 08/02/2010
Age : 21
Đến từ : Bình Định

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Mon 08 Mar 2010, 20:55

nếu có một số phần tử của mảng b trùng với một số phần tử của mảng a thì sao? Bỏ qua hay xếp vào lun. Nếu xếp vào luôn thì ta có thể làm như sau:
k:=1;
cho vòng lặp for a[i] chạy từ a[1] đến a[n]
begin
xét b[k] nếu <= a[i] và > a[i+1] thì chèn vào
còn ko thì thui.
inc[k];

đó chỉ là ý tưởng thui
thực tế còn phải xét mảng nào dài hơn nữa^^
Về Đầu Trang Go down
littlelee
Admin
Admin


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 21
Đến từ : Nghĩa địa

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Mon 08 Mar 2010, 21:03

Nếu trùng thì cho vô luôn chứ. Mảng c sẽ só số phàn tử bằng tổng số phần tử của cả hai mảng a và b.
Về Đầu Trang Go down
littlelee
Admin
Admin


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 21
Đến từ : Nghĩa địa

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Mon 08 Mar 2010, 21:04

Bạn suy nghĩ gần đúng rồi đó, cố gắng tiếp nha. Còn vài bài kìa.
Về Đầu Trang Go down
hoangtin14
Mèo con


Tổng số bài gửi : 96
Join date : 08/02/2010
Age : 21
Đến từ : Bình Định

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Mon 08 Mar 2010, 21:09

thì chỉ là ý tưởng thui mà. Thêm vài dòng lệnh nữa thì ổn.
Về Đầu Trang Go down
littlelee
Admin
Admin


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 21
Đến từ : Nghĩa địa

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Tue 09 Mar 2010, 12:23

Không đâu, với thuật toán như vậy thì ko chạy được đâu. Trong bài này nếu làm vòng lặp biết trước số lần là sai rồi đó.
Về Đầu Trang Go down
administrators
Gà nhỏ


Tổng số bài gửi : 29
Join date : 15/03/2010

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Wed 17 Mar 2010, 20:47

Dùng vòng lặp xác định cũng được mà (mặc dù không phê lắm). Làm cho bạn coi nè!


i:=0; j:=0;
For k:=1 to n+m do
if (i=n) then
begin
inc(j);
c[k]:=b[j];
end else
if (j=m) then
begin
inc(i);
c[k]:=a[i];
end else
if a[i+1] <= b[j+1] then
begin
inc(i);
c[k]:=a[i];
end else
begin
inc(j);
c[k]:=b[j];
end;

Viết chơi cho vui thôi (mục đích là nhìn vào cho dễ hiểu) chứ nếu tối ưu mã lại thì chỉ khoảng 5 dòng lệnh mà thôi.
Về Đầu Trang Go down
littlelee
Admin
Admin


Tổng số bài gửi : 415
Join date : 20/12/2009
Age : 21
Đến từ : Nghĩa địa

Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Thu 18 Mar 2010, 14:30

Uhm, nếu đó là mô phỏng của thuật toán, chứ ko thì...không ít vậy. Nếu chơi gian lận, viết xong, gộp hết vô vài dòng thì ko tính. chương trình phải tường minh kia
Về Đầu Trang Go down
Sponsored content




Bài gửiTiêu đề: Re: Đố một bài toán, xếp mảng   Today at 21:30

Về Đầu Trang Go down
 
Đố một bài toán, xếp mảng
Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang 
Trang 1 trong tổng số 1 trang

Permissions in this forum:Bạn không có quyền trả lời bài viết
Diễn đàn tin học Nguyễn Văn Linh :: Góc tin học :: Lớp chuyên tin-
Chuyển đến