Viết hàm sắp xếp mảng 1 chiều các số nguyên tăng dần
#include <iostream> using namespace std; void nhap(int a[], int &n); void xuat(int a[], int n); void sapxep(int a[], int n); int main() { int a[100], n, m; cout<<"Nhap slpt n= "; cin>>n; nhap(a,n); cout<<"cac phan tu mang A la:\n"; xuat(a,n); cout<<endl; cout<<"Sap xep mang tang dan: "; sapxep(a,n); } void nhap(int a[], int &n) { for (int i=0; i<n; i++) { cout<<"A["<<i<<"]= "; cin>>a[i]; } } void xuat(int a[], int n) { for (int i=0; i<n; i++) { cout<<a[i]<<" "; } } void sapxep(int a[], int n) { for (int i=0; i<n-1; i++) { for (int j=i+1; j<n; j++) { if (a[i] > a[j]) { int tg=a[i]; a[i]=a[j]; a[j]=tg; } } } for (int i=0; i<n; i++) { cout<<a[i]<<" "; } }
Kết quả khi chạy chương trình:
Nhap slpt n= 5 A[0]= 2 A[1]= 4 A[2]= 3 A[3]= 6 A[4]= 1 cac phan tu mang A la: 2 4 3 6 1 Sap xep mang tang dan: 1 2 3 4 6
Viết hàm sắp xếp mảng 1 chiều các số nguyên giảm dần
Thật đơn giản là chúng ta đổi dấu > thành < ở dòng 37.
if (a[i] > a[j]) //đổi thành if (a[i] < a[j])
Code bài toán:
#include <iostream> using namespace std; void nhap(int a[], int &n); void xuat(int a[], int n); void sapxep(int a[], int n); int main() { int a[100], n, m; cout<<"Nhap slpt n= "; cin>>n; nhap(a,n); cout<<"cac phan tu mang A la:\n"; xuat(a,n); cout<<endl; cout<<"Sap xep mang giam dan: "; sapxep(a,n); } void nhap(int a[], int &n) { for (int i=0; i<n; i++) { cout<<"A["<<i<<"]= "; cin>>a[i]; } } void xuat(int a[], int n) { for (int i=0; i<n; i++) { cout<<a[i]<<" "; } } void sapxep(int a[], int n) { for (int i=0; i<n-1; i++) { for (int j=i+1; j<n; j++) { if (a[i] < a[j]) { int tg=a[i]; a[i]=a[j]; a[j]=tg; } } } for (int i=0; i<n; i++) { cout<<a[i]<<" "; } }
Kết quả khi chạy chương trình:
Nhap slpt n= 5 A[0]= 2 A[1]= 4 A[2]= 3 A[3]= 6 A[4]= 1 cac phan tu mang A la: 2 4 3 6 1 Sap xep mang giam dan: 6 4 3 2 1