Vấn đề
Viết chương trình chấp nhận mảng một chiều N phần tử và tách thành hai nửa. Sau đó, hãy sắp xếp nửa đầu theo thứ tự tăng dần và nửa sau theo thứ tự giảm dần.
Giải pháp
Giải pháp để thực hiện hai phép toán trên hai nửa 'trong một mảng duy nhất bằng ngôn ngữ lập trình C được giải thích dưới đây -
Logic được sử dụng để sắp xếp nửa đầu theo thứ tự tăng dần như sau -
for (i =0; i number [j]) {a =số [i]; number [i] =number [j]; số [j] =a; }}}
Logic được sử dụng để sắp xếp nửa thứ hai theo thứ tự giảm dần như sau -
for (i =b; iLogic được sử dụng để chia một mảng thành hai nửa và in tương ứng được đưa ra bên dưới -
- Thứ tự tăng dần trong nửa đầu
for (i =0; i
- Thứ tự giảm dần ở nửa sau
for (i =b; iVí dụ
Sau đây là chương trình C để thực hiện hai phép toán trên hai nửa 'trong một mảng duy nhất -
#includevoid main () {int i, j, a, n, b, number [30]; printf ("Nhập giá trị của N \ n"); scanf ("% d", &n); b =n / 2; printf ("Nhập các số \ n"); for (i =0; i number [j]) {a =number [i ]; number [i] =number [j]; số [j] =a; }}} for (i =b; i Đầu ra
Khi chương trình trên được thực thi, nó tạo ra kết quả sau -
Nhập giá trị của N10Nhập các số