Share Code

[Bài tập C/C++] Tìm giá trị trong mảng các số thực gần giá trị x nhất

Bài toán Tìm giá trị trong mảng các số thực gần giá trị x nhất.Bên cạnh các bài tập Python, Java, Anonyhome cũng tổng...

Written by AnonyHome
· 1 min read >

Bài toán Tìm giá trị trong mảng các số thực gần giá trị x nhất.
Bên cạnh các bài tập PythonJava, Anonyhome cũng tổng hợp cho các bạn một số bài tập C/C++ từ cơ bản đến nâng cao để luyện tập thêm trong quá trình học. Ngoài ra các bạn có thể xem một vài các hướng dẫn khác về C/C++ của AnonyHome tại đây:

Đề bài: Hãy tìm giá trị trong mảng các số thực gần giá trị x nhất

 #include<stdio.h>
 #include<conio.h>
 #include<math.h>
 #define MAX 100
 void nhap(float a[], int & n) {
   do {
     printf("\nNhap so phan tu: ");
     scanf("%d", & n);
     if (n <= 0 || n > MAX) {
       printf("\nSo phan tu khong hop le. Xin kiem tra lai !");
     }
   } while (n <= 0 || 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 các khoảng cách từ x đến các giá trị trong 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 min của 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 trong 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 trong mang la:\n", x);
   xuat(b, n);
   XuatKetQua(a, b, n);
   getch();
   return 0;
 }
Written by AnonyHome
Fullstack Developer ! Profile

Leave a Reply

Your email address will not be published. Required fields are marked *

KHÓA HỌC JAVA CƠ BẢN FREE
Cùng tham gia khóa học Java cơ bản miễn phí tại kênh Youtube của AnonyHome Team
NHẤN NÚT ĐĂNG KÝ KÊNH BÊN DƯỚI ĐỂ CÙNG HỌC LẬP TRÌNH MIỄN PHÍ
ĐĂNG KÝ KÊNH ĐỂ CÙNG HỌC LẬP TRÌNH MIỄN PHÍ