Trang chủ Lớp 10 Tin học lớp 10 (sách cũ) Cho N và dãy số a1 aN, hãy sắp xếp dãy số...

Cho N và dãy số a1 aN, hãy sắp xếp dãy số đó thành dãy số không tăng (số hạng trước lớn hơn hay bằng số hạng sau)....

Bài 4: Bài toán và thuật toán - Câu 6 trang 44 SGK Tin học 10. Cho N và dãy số a1... aN, hãy sắp xếp dãy số đó thành dãy số không tăng (số hạng trước lớn hơn hay bằng số hạng sau).

Cho N và dãy số a1... aN, hãy sắp xếp dãy số đó thành dãy số không tăng (số hạng trước lớn hơn hay bằng số hạng sau).

Xác điịnh bài toán

-  Input: Dãy A gồm N số nguyên a1, a2.. aN.

-  Output: Dãy A được sắp xếp lại thành dãy không tăng:

Ý tưởng:  Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước nhỏ hơn số sau ta đổi chỗ chúng cho nhau. Việc đó được lặp lại, cho đến khi không có sự đổi chỗ nào xảy ra nữa.

Thuật toán Cách liệt kê:

Bước 1. Nhập N, các số hạng a,a2.. aN;

Bước 2: M  <- N ;

Advertisements (Quảng cáo)

Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc;

Bước 4: M <- M-1, i <- 0

Bước 5: i <- i+1

Bước 6: Nếu i>M thì quay lại bước 3

Bước 7: Nếu ai < ai+1thì tráo đổi  ai và ai+1 cho nhau

Bước 8: Quay lại bước 5

Sơ đồ khối:

Bạn đang xem bài tập, chương trình học môn Tin học lớp 10 (sách cũ). Vui lòng chọn môn học sách mới cần xem dưới đây:

Advertisements (Quảng cáo)