Hãy đưa chẵn về đầu, lẻ về cuối, phần tử 0 nằm giữa mảng

4 762 3
Hãy đưa chẵn về đầu, lẻ về cuối, phần tử 0 nằm giữa mảng

Đang tải... (xem toàn văn)

Thông tin tài liệu

Bài 281: Hãy đưa chẵn đầu, lẻ cuối, phần tử nằm mảng #include #include #include #define MAX 100 void nhap (int a[], int &n) { { printf("\nNhap so phan tu: "); scanf("%d", &n); if(n MAX) { printf("\nSo phan tu khong hop le Xin kiem tra lai !"); } }while(n MAX); for(int i = 0; i < n; i++) { printf("\nNhap a[%d]: ", i); scanf("%d", &a[i]); } } void xuat(int a[], int n) { for(int i = 0; i < n; i++) { printf("%4d", a[i]); } } void DuaChanVeDau(int a[], int ViTriDoi) { int tam = a[ViTriDoi]; // biến tạm lưu tất giá trị thỏa ĐK đổi for(int i = ViTriDoi; i > 0; i ) { a[i] = a[i - 1]; } a[0] = tam; } void Dua0VaoGiua(int a[], int ViTriDoi, int ViTriChanCuoi) { // Do nằm mảng nên giá trị chẵn cuối để thỏa yêu cầu toán for(int i = ViTriDoi; i > ViTriChanCuoi; i ) { a[i] = a[i - 1]; } a[ViTriChanCuoi] = 0; } void DuaChanVeDauLeVeCuoi0NamGiuaMang(int a[], int n) { int i, dem; int ViTriChanCuoi = 0; for(i = 0; i < n; i++) { if(a[i] % == && a[i] != 0) { DuaChanVeDau(a, i); } } for(i = 0; i < n; i++) { if(a[i] % != 0) { ViTriChanCuoi = i; break; } } for(i; i < n; i++) // bỏ khởi tạo i để tránh dư số { if(a[i] == 0) { Dua0VaoGiua(a, i, ViTriChanCuoi); } } } int main() { int n; int a[MAX]; nhap(a, n); xuat(a, n); DuaChanVeDauLeVeCuoi0NamGiuaMang(a, n); printf("\nDua chan ve dau, le ve cuoi, nam giua mang: "); xuat(a, n); getch(); return 0; }

Ngày đăng: 20/10/2016, 20:12

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan