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

Ủng hộ AnonyHome Team
Chờ một chút: bạn thấy bài viết có ích chứ? Hãy chia sẻ nó với mọi người nhé!

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.

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

[c]#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 max của mảng b
float TimMax(float b[], int n)
{
int Max = b[0];
for (int i = 1; i < n; i++)
{
if (b[i] > Max)
{
Max = b[i];
}
}
return Max;
}
void XuatKetQua(float a[], float b[], int n)
{
printf("\nGia tri trong mang xa gia tri x nhat la: ");
int Max = TimMax(b, n);
for (int i = 0; i < n; i++)
{
if (b[i] == Max)
{
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;
}[/c]

Share
0 0 vote
Vui lòng đánh giá bài viết
Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
XEM THÊM
iOS là hệ điều hành của…
0
Bạn thích bài viết chứ? Hãy để lại bình luận.x
()
x