Câu hỏi:
Giúp em bài tập về nhà Tổng hợp lớp 10 câu hỏi như sau: Cho dãy A gồm N số nguyên a1 a2…aN hãy sắp xếp theo thứ tự giảm dần về giá trị . xác định bài toán ,giải bằng cách liệt kê,chỉ ra tính dừng của thuật toán
Trả lời 2:
Gia Sư Hoàng Khang gữi câu trả lời dành cho bạn:
* Xác định bài toán :
– Input : nhập n và dãy a1, a2, .. , an
– Output : dãy A sắp xếp theo thứ tự giảm dần
* Viết thuật toán :
– Bước 1 : nhập n, 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 đã được sắp xếp rồi sắp xếp
– 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 < a(i + 1) thì tráo đổi ai và a(i + 1) cho nhau
– Bước 8 : quay lại bước 5 ;
* Tính dừng :
– Thuật toán kết thúc sau một số hữu hạn lần thực hiện các thao tác
Trả lời 1:
Gia Sư Hoàng Khang gữi câu trả lời dành cho bạn:
Input: Số nguyên N và dãy a;
Output: Dãy a theo thứ tự giảm dần;
Thuật toán:
B1.Nhập N;
B2.Cho i chạy từ 1 đến n: Nhập a[i];
B3.Cho i chạy từ 1 đến n:
-Cho j chạy từ 1 đến i-1:
+Nếu a[j]<a[i](Phần tử sau bé hơn phần tử trước) thì hoàn đổi vị trí.
B4.Xuất mảng a;
B5.Kết thúc