Bài 156: Hãy tìm giá trị mảng số thực gần giá trị x #include #include #include #define MAX 100 void nhap (float 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("%f", &a[i]); } } void xuat(float a[], int n) { for(int i = 0; i < n; i++) { printf("%8.3f", a[i]); } } // Tạo mảng b chứa khoảng cách từ x đến giá trị mảng a void TaoMang(float a[], int n, float b[], int x) { for(int i = 0; i < n; i++) { b[i] = abs(x - a[i]); } } // Tìm mảng b float TimMin(float b[], int n) { int Min = b[0]; for (int i = 1; i < n; i++) { if (b[i] < Min) { Min = b[i]; } } return Min; } void XuatKetQua(float a[], float b[], int n) { printf("\nGia tri mang gan gia tri x nhat la: "); int Min = TimMin(b, n); for (int i = 0; i < n; i++) { if (b[i] == Min) { printf("%8.3f", a[i]); // Đối chiếu qua mảng a, in phần tử vị trí thứ i thỏa ĐK } } } int main() { int n; float a[MAX]; float b[MAX]; nhap(a, n); xuat(a, n); float x; printf("\nNhap vao gia tri x: "); scanf("%f", &x); TaoMang(a, n, b, x); printf("\nKhoang cach tu x = %.3f den cac phan tu mang la:\n", x); xuat(b, n); XuatKetQua(a, b, n); getch(); return 0; }