Salve a tutti, devo scrivere un programma che prende in input un numero in virgola mobile b e poi altri 10 numeri in virgola mobile, stampa il numero tra questi ultimi 10 che è più vicino al numero b. Ad esempio, se i numeri in input sono:
2.5
1.4 -3.56 1.8 0.04 2.09 2.5008 2.8 7.08 -2.5 2.49
il programma stampa: 2.5008
il mio problema è che non so che operazione fargli eseguire x trovare il valore + vicino al numero b!!!
pensavo tipo di fargli fare una sottrazione tra ogni singolo elemento dei 10 e il numero b e vedere quale valore è minore, in qst modo dovrei sapere il numero + vicino no?
mmmmmmmmmmmm
ho creato una funzione che calcola la distanza solo che poi non so come richiamarla nel main, dovrei tipo richiamarla in un if? mi ingrippo... :S
#include <stdio.h>
float distanza(float x, float y);
int main()
{
float b; //input principale
float a; //valore che passa tutti i 10 numeri di confronto con b
int i; //contatore
printf("Inserisci numero in virgola mobile: ");
scanf("%f", &b);
printf("Inserisci valori in virgola mobile: ");
for( i = 0; i < 10; i++){
scanf("%f", &a);
...
...
}
return 0;
}
float distanza(float x, float y){
if(x < y){
return y - x;
}
else{
return x - y;
}
qualcuno mi da una mano???