Đến nội dung

Hình ảnh

Sắp xếp mảng


  • Please log in to reply
Chủ đề này có 1 trả lời

#1
thang1308

thang1308

    Trung sĩ

  • Thành viên
  • 197 Bài viết

Viết chương trình trên 2 mảng đã sắp xếp tăng thành 1 mảng thứ 3 cũng sắp xếp tăng.

 

VD:

 Mảng 1:   3, 5, 6, 9, 12

 Mảng 2:   4, 7, 8, 10;

$\Rightarrow$

mảng 3 :   3, 4 ,5, 6, 7, 8, 9, 10, 12.


Hôm nay thi xong. Căn bản là mệt!!! :wacko:  :wacko:


#2
NTL2k1

NTL2k1

    Hạ sĩ

  • Thành viên
  • 99 Bài viết


Viết chương trình trên 2 mảng đã sắp xếp tăng thành 1 mảng thứ 3 cũng sắp xếp tăng.

 

VD:

 Mảng 1:   3, 5, 6, 9, 12

 Mảng 2:   4, 7, 8, 10;

$\Rightarrow$

mảng 3 :   3, 4 ,5, 6, 7, 8, 9, 10, 12.

Với cá nhân mình thì có 2 cách:

C1: Gộp 2 mảng đó lại với nhau và sau đó sắp xếp tăng dần lại.

C2:Vừa gộp vừa sắp xếp tăng dần.

* Thì cách 1 mình nói thế chắc bạn đã hiểu vấn đề rồi. Mình sẽ làm cách 2:

Code:

 

program tron_day;
uses crt;
var i,n,j,k,l,tg,m,p:longint;
a,b,c:array[1..1000] of longint;
begin
clrscr;
write('Nhap so pt mang 1:');readln(n);
for i:=1 to n do
    begin
    write('a[',i,']=');readln(a[i]);
    end;
writeln;
write('Nhap so pt mang 2:');readln(m);
for i:=1 to m do
    begin
    write('b[',i,']=');readln(b[i]);
    end;
writeln;
i:=1;
p:=0;
j:=1;
repeat
         if a[i]<=b[j] then
            begin
            p:=p+1;
            c[p]:=a[i];
            i:=i+1;
            end else
                begin
                p:=p+1;
                c[p]:=b[j];
                j:=j+1;
                end;
until (i>n)or(j>m);
for k:=i to n do
      begin
      p:=p+1;
      c[p]:=a[i];
      end;
for l:=j to m do
      begin
         p:=p+1;
         c[p]:=b[j];
         end;
writeln('Mang 3 co thu tu sx tang dan:');
for i:=1 to p do
write(c[i],'  ');
readln
end.
* Thuật toán cơ bản là vậy.Nhưng để chặt chẽ hơn thì bạn có thể chọn lại kiểu dữ liệu,đặt thêm ĐK (chẳng hạn nếu mảng ko tăng dần thì thông báo phải nhập lại),...

Bình tĩnh - Tự tin - Chiến thắng

Không phải là tôi quá thông minh, chỉ là tôi chịu bỏ nhiều thời gian hơn với rắc rối .

Cứ làm việc chăm chỉ trong im lặng - Hãy để thành công trở thành tiếng nói của bạn .

 





0 người đang xem chủ đề

0 thành viên, 0 khách, 0 thành viên ẩn danh