Cho dãy A có N số nguyên a1, a2,...,aN. Sắp xếp số hạng để dãy A thành dãy không tăng. a) Xác định bài toán b) Nếu ý tưởng c) Viết thuật toán ( liệt kê hoặc sơ đồ khối)

2 câu trả lời

Đây bạn

* Xác đị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 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 bé hơn số sau thì đổi chỗ hai số hạng

- Lặp đi lặp lại công việc này cho tới khi không còn sự đổi chỗ nào xảy ra nữa

* Thuật toán :

- Bước 1 : nhập n và các số hạng a1, a2, .. , an

- Bước 2 : m ← n

- Bước 3 : nếu m < 2 thì đưa ra dãy a đã 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 + 1 thì tráo đổi ai với ai + 1 cho nhau

- Bước 8 : quay lại bước 5

Câu hỏi trong lớp Xem thêm