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).

2 câu trả lời

#include

using namespace std;

int main()

{

int n;

int a[101];

cout<<"nhap n=";

cin>>n;

cout<<"nhap cac so a="<

for(int i=1;i<=n;i++)

cin>>a[i];

sort (&a[1],&a[n+1],greater());

for(int i=1;i<=n;i++)

cout<

return 0;

}

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

Bước 2 : k ← n;

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

Bước 4 : k ← k - 1, i ← 0

Bước 5 : i ← i + 1

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

Bước 7 : nếu a[i] < a[i + 1] thì tráo đổi a[i] và a[i + 1] cho nhau

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

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