Aiuto programma in C

di il
1 risposte

Aiuto programma in C

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???

1 Risposte

  • Re: Aiuto programma in C

    Poi utilizzare un array che contiene i dieci numeri. un altro array che contiene la differenza tra b e i dieci numeri in valore assoluto ovviemente. poi usi un ciclo per trovare la differenza più piccola
Devi accedere o registrarti per scrivere nel forum
1 risposte