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 *

ĐĂNG KÝ KHÓA HỌC JAVA CƠ BẢN
Đăng ký tham gia khóa học Java cơ bản Online. Học lập trình cùng AnonyHome
HỢP TÁC CÙNG CHÚNG TÔI
Chúng tôi nhận thực hiện các dự án:
  1. Phát triển ứng dụng Mobile
  2. Xây dựng website
  3. Đồ án sinh viên, luận văn thạc sĩ
  4. ..v.v
Mọi dự án đều được xây dựng với chi phí hợp lý.
Tham gia group Facebook: click here
Hợp tác phát triển các nền tảng ứng dụng
Chúng tôi nhận các dự án:
  1. Phát triển ứng dụng Mobile
  2. Xây dựng website
  3. Đồ án sinh viên, luận văn thạc sĩ