#include #define MAX 100 // 1. Khai báo mảng a và n int a[MAX] = {1, 9, 2, 1, 3, 7, 4, 6, 13}; int n = 9; // 2. Hàm TimVTx: tìm vị trí đầu tiên của x trong mảng a 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 XOA: xóa phần tử tại vị trí vt void XOA(int a[], int *n, int vt) { if (vt < 0 || vt >= *n) return; for (int i = vt; i < *n - 1; i++) { a[i] = a[i + 1]; } (*n)--; } // 4. Hàm Xoa: xóa tất cả phần tử có giá trị x void Xoa(int a[], int *n, int x) { int i = 0; while (i < *n) { if (a[i] == x) { XOA(a, n, i); } else { i++; } } } // 5. Hàm mainQ: 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]); } printf("\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"); Xoa(a, &n, x); printf("Mang sau khi xoa tat ca x: "); for (int i = 0; i < n; i++) { printf("%d ", a[i]); } return 0; }