Ошибка nan, out put заключается в том, чтобы вывести самое дальнее значение из x из массива(извините за плохой английский)
выход заключается в том, чтобы вывести самое дальнее число из массива x
например массив: 19 434 23 55 7
x: 2
тогда самое дальнее значение от x равно: 434
мой код, на всякий случай, только распечатай Нэн, я уже несколько часов смотрю на свой код, но все равно ничего не получаю, хотя и знаю, что что-то пошло не так
он не показывает никакой ошибки, так что я действительно не знаю, что делать, я новичок, и я знаю, что этот вопрос может показаться немного глупым, но может ли кто-нибудь помочь мне, пожалуйста :((
Что я уже пробовал:
вот мой код:
#include <iostream> #define MAX 100 #include <cmath> using namespace std; void nhap(float a[] ,int &n) { int x; do { cout<< "\nnhap so n: "; cin >> n; cout<< "\nnhap so x: "; cin >> x; if(n<0 || n> MAX) cout << "\nsai roi, moi nhap lai "; } while(n<0 || n >MAX); for(int i=0; i<n; i++) { cout << "a[" << i << "]= "; cin >> a[i]; } } void xuat(float a[], int &n) { for(int i=0; i <n; i++) { cout << a[i] << " "; } } void taomang (float a[], float b[], int &n, int x) { for (int i=0; i<n; i++) b[i] = abs(a[i] - x); } float xaxnhat(float a[], float b[], int &n) { int s = b[0]; for(int i=0; i<n; i++) { if(b[i]>s) { s=b[i]; } } return s; } float xuatketqua (float a[], float b[], int n) { int k = xaxnhat(a,b,n); for (int i=0; i<n; i++) { if (b[i] == k) return a[i]; } } int main() { int n; float a[MAX]; float b[MAX]; nhap(a,n); xuat(a,n); cout << " \ngia tri xa gia tri x nhat la: "; cout << xuatketqua(a,b,n); return 0; }