Salve a tutti,prima di tutto colgo l'occasione per presentarmi visto che dopo qualche settimana di lurking mi sono finalmente deciso ad iscrivermi a questo forum
Il primo problema (e non sarà l'ultimo ) che ho da sottoporvi è il seguente : devo fare un programma che calcola le 2 radici di un equazione di secondo grado. Semplicissimo,apparentemente nulla di difficile..... peccato che qualsiasi valore inserisco mi dia sempre come risultati -1
Ecco il codice
codice:
#include <stdio.h>
#include <math.h>
int main (void)
{
float a,b,c,delta,sol1,sol2 ;
for (;;)
{
printf ("Ax^2+By+C=0\n\n") ;
printf ("A= ") ;
scanf ("%f",&a) ;
printf ("B= ") ;
scanf ("%f",&b) ;
printf ("C= ") ;
scanf ("%f",&c) ;
delta=(pow(b,2))-(4*a*c) ;
sol1=((-b)-(sqrt(delta)))/2 ;
sol2=((-b)+(sqrt(delta)))/2 ;
printf ("\nSoluzione minore : %f\n\n",sol1) ;
printf ("\nSoluzione maggiore : %f\n\n",sol2) ;
}
}
Apparentemente è tutto giusto...le forumule son corrette...ma non va. Mi da sempre -1 sia alal radice minore che a quella maggiore e non capisco perchè !
Sicuramente sarà una cazzatina ma non riesco a capire dove sta il problema...aiutatemi