PDA

View Full Version : Xin hướng dẫn gấp bài tập ko đc dễ này !!!



TommyJason
12-12-2007, 17:33
Do tài năng lập trình của em còn kém cỏi cho nên xin các cao thủ lập trình chỉ giáo thêm về cái bài lập trình này!! Cái đề là "Nhập vào 3 số nguyên và in ra các số đó theo thứ tự tăng dần"! Nếu các cao thủ nào biết xin hãy hướng dẫn cho em tận tình!! Em đang cần rất gấp !!! Xin cám ơn rất nhìu (nếu ai chỉ dùm)!!

mr_invincible
12-12-2007, 18:58
Nếu bạn chưa học đến các thuật toán sắp xếp dãy số (mà chắc bài đơn giản thế này cũng chẳng cần) thì cách đơn giản nhất là dùng các lệnh if else lồng nhau
If (a<=b) and (a<=c) then {a là số nhỏ nhất}
begin
Write(a,' ');
If b<=c then Write(b,' ',c) else Write(c,' 'b)
end
else If (b<=c) and (b<=a) then
begin
If c<=a then Write(c,' ',a) else Write(a,' ',c)
end
else If (c<=a) and (c<=b) then
begin
If b<=a then Write(b,' ',a) else Write(a,' ',b)
end
Bài trên viết theo cách đơn giản nhất và dễ hiểu nhất. Tất nhiên cách viết ngắn gọn hơn. Nếu muốn viết ngắn gọn hơn bạn có thể tự suy nghĩ thêm hoặc hỏi những người khác

takiemtam
12-12-2007, 21:48
Bác học trường lớp nào để em méc thầy bác tội lười học
^^

Long_Phung
13-12-2007, 11:39
Dài dòng quá bạn mr ơi.



...........
If (a<b) and (b<c) then write(a:4,b:4,c:4); {thứ tự là abc}
If (a<c) and (c<b) then write(a:4,b:4,c:4); {thứ tự là acb}
If (b<a) and (a<c) then write(a:4,b:4,c:4); {thứ tự là bac}
If (b<c) and (c<a) then write(a:4,b:4,c:4); {thứ tự là bca}
If (c<a) and (a<b) then write(a:4,b:4,c:4); {thứ tự là cab}
If (c<b) and (b<a) then write(a:4,b:4,c:4); {thứ tự là cba}
...........

mr_invincible
13-12-2007, 17:58
Bạn viết lại vẫn sai. Nếu các số bằng nhau thì sao. Hơn nữa tôi viết theo cách dễ hiểu nhất và đơn giản nhất (đã nói ở trên nên) nên có thể hơi dài dòng một chút

TommyJason
16-12-2007, 18:01
Thanks các pác lập trình nhìu !! Em sẽ cố gắng học hỏi thêm !!

okmen910
30-12-2007, 20:43
cách đó nhiều if quá,thử cách này xem

if a>b then
begin
t:=a;a:=b;b:=t;
end;
if b>c then
begin
t:=b;b:=c;c:=t;
end;
if a>b then
begin
t:=a;a:=b;b:=t;
end;
writeln(a,',',b,',',c);