VNIT

Too lazy to think of a slogan

Trang chủ » Diễn Đàn » Lập trình và Phát triển Web » CLB Thuật toán » Giúp em gấp chương trình pascal này với myas anh chị ơi!

Chủ đề đã bị khóa, bạn không thể xóa, sửa hay trả lời trong chủ đề này!

First Page Previous Page  1  Next Page Last Page
Locked Giúp em gấp chương trình pascal này với myas anh chị ơi!
0
question Gởi bởi suxedung (8:00 18-10-2011)
Bài: 5 / Điểm VCS: 9 /

Anh chị nào viết giùm em chương trình pascal gấp lắm (gửi qua suxedung@gmail.com giùm em) sắp xếp mảng mọt chiều tăng dần bằng thuật toán nổi bọt và chộn trực tiếp. em viết thế này mà sao không ra, em chẳng biết nó sai chỗ nao:
- chọn trực tiếp:
uses crt;
type kieumang=array[1..50] of integer;
var a:kieumang;
n,j,i,tam:integer;
begin
write('hay nhap so luong phan tu cua mang: ');readln(n);
for i:=1 to n do
begin
write('nhap a[',i,']:= ');readln(a[i]);
end;
writeln;
write('mang ban vua nhap:');
for i:=1 to n do write(a[i]);
writeln;
for i:=1 to n do
a[min]:=a[i];
for j:=i+1 to n do
if a[j]<a[j-1] then
begin
a[min]:=a[j];
tam:=a[i];
a[i]:=a[min];
a[min]:=tam;
end;
write('mang sau khi sap xep la:');
writeln;
for i:=1 to n do write(a[i]);
readln;
end.
em đã thử nhiều các rồi nhưng chương trình chạy sáp xếp sai.
Locked Re: Giúp em gấp chương trình pascal này với myas anh chị ơi!
0
answer Gởi bởi ctv02 (23:45 20-10-2011)
Bài: 57 / Điểm VCS: 12 /

xem lại vòng lặp đi e :d
Locked Re: Giúp em gấp chương trình pascal này với myas anh chị ơi!
0
answer Gởi bởi ctv02 (23:51 20-10-2011)
Bài: 57 / Điểm VCS: 12 /

vd với dãy bất kỳ 496253 ( em xem bài bắt xếp tăng hay giảm thì đổi chỗ nhé ):
i=1
m=i =1;
for  j:=i+1 to n do
                if K[j] > K[m] then m:=j;
                if m <> i then
                  Begin
                          tg:=K[m];
                          K[m]:=K[i];
                          K[i]:=tg;
                  End;
đoạn for này tìm số lớn nhất trong mảng --> m=2 (vì 9 lớn nhất); đổi chỗ k[m] và k[i] nghía là đổi chỗ 9 và 4 cho nhau
  Write ( "i= ", i , " " ); --> màn hình hiện i=
              for j:=1 to n do
                    Write ( K[i], "  " );
            Writeln;
k[i]=k[1] =9 (sau khi đổi chỗ) --> hiện ra thêm 6 sô 9
.. tiếp tục như vậy
First Page Previous Page  1  Next Page Last Page

Thống kê

Hiện tại web site có 85,806 thành viên. Xin chào đón thành viên mới nhất nightt.

Các thành viên đã tạo 62,822 chủ đề và 241,950 bài viết trong 30 box.

Hiện có 0 thành viên và 1 khách đang trực tuyến.

Template by styleshout / Icons by Tango Icon Library and FamFamFam.