#include #define MAX 100 // 1. Khai báo mảng a và số phần tử n int a[MAX] = {1, 9, 2, 1, 3, 7, 4, 6, 13}; int n = 9; // 2. Hàm tìm vị trí đầu tiên của x trong mảng int TimVTx(int a[], int n, int x) { for (int i = 0; i < n; i++) { if (a[i] == x) return i; } return -1; } // 3. Hàm xóa phần tử tại vị trí nhập từ bàn phím void XOA(int a[], int *n) { int vt; printf("\nNhap vi tri muon xoa (0 -> %d): ", *n - 1); scanf("%d", &vt); if (vt < 0 || vt >= *n) { printf("Vi tri khong hop le!\n"); return; } for (int i = vt; i < *n - 1; i++) { a[i] = a[i + 1]; } (*n)--; printf("Mang sau khi xoa vi tri %d: ", vt); for (int i = 0; i < *n; i++) { printf("%d ", a[i]); } printf("\n"); } // 4. Hàm xóa tất cả phần tử có giá trị x void XoaTatCaX(int a[], int *n, int x) { int i = 0; while (i < *n) { if (a[i] == x) { for (int j = i; j < *n - 1; j++) { a[j] = a[j + 1]; } (*n)--; } else { i++; } } } // 5. Hàm main thực hiện chương trình int main() { int x; printf("Mang ban dau: "); for (int i = 0; i < n; i++) { printf("%d ", a[i]); } // Tìm vị trí của x printf("\n\nNhap gia tri x can tim va xoa: "); scanf("%d", &x); int vt = TimVTx(a, n, x); if (vt != -1) printf("Vi tri dau tien cua x la: %d\n", vt); else printf("Khong tim thay x trong mang.\n"); // Xóa tất cả x XoaTatCaX(a, &n, x); printf("Mang sau khi xoa tat ca x: "); for (int i = 0; i < n; i++) { printf("%d ", a[i]); } // Xóa theo vị trí nhập XOA(a, &n); return 0; }