hmm okay. I think i've oversimplified my problem
Here's what I'm trying to do:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main(int argc, char* argv[])
{
double a, b, c, disc;
double valid_input_1, valid_input_2, valid_input_3;
valid_input_1=sscanf(argv[1], "%lg", &a);
valid_input_2=sscanf(argv[2], "%lg", &b);
valid_input_3=sscanf(argv[3], "%lg", &c);
disc=(b*b-4*a*c);
printf("a equals %.5lg\n",a);
printf("b equals %.5lg\n",b);
printf("c equals %.5lg\n",c);
printf("Disciminant equals %.5lg\n",disc);
printf("b*b=%.5lg\n",(b*b));
printf("-4ac=%.5lg\n", (-4*a*c));
}
if i put a=0.25, b=1.69, and c=2.8561 (1.69 squared) - i get this out:
Code:
a equals 0.25
b equals 1.69
c equals 2.8561
Disciminant equals -4.4409e-16
b*b=2.8561
-4ac=-2.8561
Now disc should equal 0 but it doesn't!
Is it still not possible??
Thanks, Scott