Go Back   VN-Zoom forum > Chia sẻ kiến thức > Lập trình > Pascal | C/C++

 


Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 16-12-2007, 08:31   #1
Búa Đá Đôi
 
nguyenkimkien's Avatar
 
Tham gia: Aug 2007
Đến từ: Bình Phước
Bài: 76
VZD: 3.401
Điểm: 35/13 bài viết
Send a message via Yahoo to nguyenkimkien
Lightbulb Bài toán Pascal

Các bác giải giùm em bài này:
Viết CT thực hiện:
- Cho 81 ô vuông nhỏ (ngang 9 - dọc 9) xếp lại thành 1 ô vuông lớn
- Cho máy ngẫu nhiên điền vào 9 ô trong 81 ô nhỏ các số từ 1- 9 (1 ô - 1 số
- Lập trình làm sao cho máy điền tiếp vào các ô còn lại sao cho các ô trên 1 cột, trên 1 hàng, các ô trong cặp 9 ô một không được có số trùng nhau.
Bác nào giải được em xin cám ơn vạn lần. Em cần bài giải gấp lắm.
nguyenkimkien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-12-2007, 09:51   #2
nguyenvanhuy
Khách Viếng Thăm
 
nguyenvanhuy's Avatar
 
Bài: n/a
VZD: 0 [Check]
Default

Đến hỏi cô thầy là tốt nhất!
  Trả Lời Với Trích Dẫn
Old 16-12-2007, 10:07   #3
Rìu Sắt Đôi
 
noisauromeo's Avatar
 
Tham gia: May 2007
Bài: 221
VZD: 16.489
Điểm: 371/54 bài viết
Default

heheh cái này thì dễ không khó nhưng viết nó ra xong thì hơi mêt khá dài khoảng 30 dòng bạn cho nick chat đi có thể mình giúp được bài toán này chắc không phải ở trừong ra phải không trường làm gì có trình độ làm mấy bài toán kiểu này thi ở ngoài chắc có chắc là thi giải tỉnh hay quốc gia gì đó bài này xem vậy cũng bèo
__________________
Hãy Nhấn cám ơn nếu bạn cảm thấy bài viết của tôi có ích cho bạn hãy chứng tỏ mình là những người hiểu biết !!!!
Anh không khóc khi loài người chết hết
Anh không buồn khi thế giới đổi thay
Anh chỉ khóc khi người yêu anh khóc
Anh chỉ buồn khi người ấy xa anh
noisauromeo vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 16-12-2007, 10:21   #4
Rìu Bạc
 
otarachi's Avatar
 
Tham gia: Aug 2007
Đến từ: Application Technology
Bài: 309
VZD: 12.477
Điểm: 100/50 bài viết
Send a message via Yahoo to otarachi
Default

đây là bài toán Sudoku..với 30 dòng code Pascal hoặc C/C++ thì tôi ko tin..còn code C++ mình đã post lên diễn đàn..bạn có thể dễ dàng tìm thấy
__________________
Phụ nữ thích nhiều thứ ở 1 người đàn ông
Đàn ông thích 1 thứ ở nhiều người phụ nữ
otarachi vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-12-2007, 08:49   #5
Búa Đá Đôi
 
nguyenkimkien's Avatar
 
Tham gia: Aug 2007
Đến từ: Bình Phước
Bài: 76
VZD: 3.401
Điểm: 35/13 bài viết
Send a message via Yahoo to nguyenkimkien
Default

mail của mình:
Gửi bài cho mình ngay nha mấy bạn
Bài toán này là bài tập thầy cho mình đó
Cám ơn trước nha
nguyenkimkien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-01-2008, 16:21   #6
Búa Gỗ Đôi
 
Uchiha's Avatar
 
Tham gia: Oct 2007
Bài: 26
VZD: 455
Điểm: 7/5 bài viết
Default

Chà cái này là dạng bài có thể đem đi thi học sinh giỏi cấp thành phố đấy.Khó kinh , mình cũng chưa làm được bài này .
Uchiha vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 27-01-2008, 14:09   #7
Búa Đá Đôi
 
nguyenkimkien's Avatar
 
Tham gia: Aug 2007
Đến từ: Bình Phước
Bài: 76
VZD: 3.401
Điểm: 35/13 bài viết
Send a message via Yahoo to nguyenkimkien
Default

Các bác giúp em với. em đang cần gấp
nguyenkimkien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-02-2008, 17:17   #8
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.580
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

Cùng lắm dùng matrix giải cũng ngắn chỉ có cái tốn chíp mất thời gian thối. Bạn thử dùng giả thiết quy nạp làm từ it ô đến nhiều xem sao mình chưa chơi sokudo bao giờ.
Nhưng trên siliverline cũng có bản viết bằng siliverline cố tham khảo nhe.
Mình tính qua rồi chỉ có 9x8!=362880 khả năng thôi chạy mỗi tí là ra.

thay đổi nội dung bởi: thienthan, 06-02-2008 lúc 17:54.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-02-2008, 18:20   #9
Rìu Vàng
 
banana729's Avatar
 
Tham gia: Dec 2007
Đến từ: An Giang
Bài: 723
VZD: 12.183
Điểm: 187/115 bài viết
Send a message via Yahoo to banana729
Default

bạn dùng mảng 2 chiều trong pascal và dùng hàm randomize để lấy các giá trị ngẩu nhiên
__________________
<<<Học hành như cá kho tiêu>>>
<<Kho nhiều thì mặn học nhiều thì NGU>>>
Nếu thấy bài mình hay thì nhấn CÁm ơn là được rùi

------------------------
MAIL CỦA UI ĐÓ
bananaoh729@gmail.com
HƯỚNG DẪN SỬ DỤNG DIỄN ĐÀN
Mời các bạn vào đây chơi
banana729 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 06-02-2008, 19:40   #10
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.580
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

Không mình dùng phương pháp liệt kê hoán vị để đảm bảo liệt kê hết các trường hợp sau đó check ngẫu nhiên lại để đảm bảo có xác xuất trung bình thử 9x8!/2 và tồi tệ nhất là phải thử 9x8! bạn hiểu chưa. Mình sinh năm 1991 gọi như vậy chắc không vấn đề gì.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 20-02-2008, 00:26   #11
Rìu Bạc
 
Mr_Dolphin's Avatar
 
Tham gia: Dec 2007
Bài: 319
VZD: 4.904
Điểm: 81/54 bài viết
Default

noisauromeo cho mình xin lời giải nhé
Cảm ơn!
__________________
-_::Tin Học là chia sẻ ::_-
http://cnttk1a.hnsv.com
Chào mừng các bạn đến diễn đàn lớp tui!
Mr_Dolphin vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2008, 18:27   #12
Gà Con
 
nhatanh's Avatar
 
Tham gia: Jul 2007
Bài: 2
VZD: 330
Điểm: 0/0 bài viết
Default

bài này thì thành phố nỗi gì:| chỉ cần chắc cơ bản là đủ rồi!
nhatanh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 07-03-2008, 20:09   #13
Rìu Vàng
 
banana729's Avatar
 
Tham gia: Dec 2007
Đến từ: An Giang
Bài: 723
VZD: 12.183
Điểm: 187/115 bài viết
Send a message via Yahoo to banana729
Default

bài này cũng đơn giản mà dài wá
__________________
<<<Học hành như cá kho tiêu>>>
<<Kho nhiều thì mặn học nhiều thì NGU>>>
Nếu thấy bài mình hay thì nhấn CÁm ơn là được rùi

------------------------
MAIL CỦA UI ĐÓ
bananaoh729@gmail.com
HƯỚNG DẪN SỬ DỤNG DIỄN ĐÀN
Mời các bạn vào đây chơi
banana729 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 11-03-2008, 14:49   #14
Búa Đá Đôi
 
nguyenkimkien's Avatar
 
Tham gia: Aug 2007
Đến từ: Bình Phước
Bài: 76
VZD: 3.401
Điểm: 35/13 bài viết
Send a message via Yahoo to nguyenkimkien
Default

Các bac cu gui cho em doan CODE cua chuong trinh toi:
nguyenkimkien vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 12-03-2008, 18:02   #15
Rìu Sắt Đôi
 
thienthan's Avatar
 
Tham gia: Nov 2007
Bài: 291
VZD: 4.580
Điểm: 86/69 bài viết
Send a message via Yahoo to thienthan
Default

{
Cac luu y ve chuong trinh
Cac so nhap vao theo thu tu nhap theo so cot tang dan va cot nao cung phai co so
Chuong trinh co the thieu dau ";" ban can tu them vao
}
Procedure Hoanvi;
const
n=9;
type
mark=array[1..9] of byte;
so=array[1..9,1..9] of byte;
Var
tmp:boolean;
i,k,a,b,ny:byte;
s,Root:so;
x,y,z,c,d,f:mark;
tam:byte;
procedure Swap(var X, Y: Integer);
var
Temp: Integer;
begin
Temp := X; X := Y; Y := Temp;
end;
procedure Pause;
begin
Write('Nhan E de dung tai day, an phim khac de tiep tuc');
if upcase(Readkey)='E' then tmp:=true;
Writeln;
end;
procedure Paint;
Var
l,m: byte;
begin
for l:=1 to n do
begin
Writeln;
for m:=1 to n do Write(s(m,n):3);
Writeln;
end;
end;
Procedure CreatRoot;
var
l,m:byte;
begin
for l:=1 to n do
for m:=1 to n do
Root[l,m]:=(l+m-2) mod n + 1;
end;
Procedure CutY(i:byte);
var
l:byte;
Begin
if ny<>i then
for l:=i to ny-1 do y[l]:=y[l+1];
ny:=ny-1;
End;
Function Select(l,m:Byte):Byte;{0 Nghia la khong tim thay}
Var
dem:Byte;
Begin
Select:=0;
For dem:=1 to ny do
if Root(x[l],y[dem])=m then
begin
Select:=y[dem];
CutY(dem);
Exit;
End;
End;
Procedure Nhap;
Var
l:byte;
Begin
Writeln('Nhap cac so da biet theo quy tac hang, cot, gia tri');
For i:=1 to n do
Begin
Write('c[',l,'],d[',l,'],f[',l,']=');
Readln(c[l],d[l],f[l]);
Procedure Slover;
Var
l,m:byte;
Begin
for l:=1 to n do
for m:=1 to n do
s[l,m]:=root[x[l],z[m]];
Begin
CreatRoot;
tmp:=false;
Repeat
for i := 1 to n do x[i] := i;{Khoi tao tham chieu ao}
repeat
ny:=9;
for i := 1 to ny do y[i] := i;{Khoi tao tham chieu ao}
for i := 1 to n do
begin
tam:=Select(c[i],f[i]);
if tam<>0 then z[d[i]]:=tam else exit;
End;
Pause;
if tam<>0 then
Begin
Slover;
Paint;
if tmp=true then Exit;
{Xac nhan duoc hoan vi}
i := n - 1;
while (i > 0) and (x[i] > x[i + 1]) do Dec(i);
if i > 0 then
begin
k := n;
while x[k] < x[i] do Dec(k);
Swap(x[k], x[i]);
a := i + 1; b := n;
while a < b do
begin
Swap(x[a], x[b]);
Inc(a);
Dec(b);
end;
end;
until i = 0;
Writeln('Neu ban muon thoat khoi chuong trinh an E')
if upcase(Readkey)='E' then Halt;
Until false;
End;
{Da chay thu tren Visual Basic 2005. Tong thoi gian nho hon 100 ms}

Lưu ý em sẽ đưa bài code chuẩn bằng C++ lên
Trong mục ý tưởng mọi người vào đó xem chi tiết.
thienthan vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt
Trackbacks are Tắt
Pingbacks are Tắt
Refbacks are Tắt
Chuyển đến


Múi giờ GMT +7. Hiện tại là 06:02.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
Từ điển được cung cấp bởi VDict.com - Hosting được tài trợ bởi Rao vặt 123