Parabola e rette

di il
1 risposte

Parabola e rette

Ciao a tutti, dovrei creare un programma in grando di calcolare il punto di intersezione tra una retta e una parabola, il problema è che non rileva il ciclo if.. Qualcuno saprebbe dirmi dove erro? grazie in anticipo, questo è il programma...

#include <stdio.h>
int main ()
{
int b, m;
float a, c, x1, x2, y1, y2, q;
printf ("\n Programma per calcolare il punto di intersezione tra retta di eq.ne y=mx+q e parabola di eq.ne y=ax^2+bx+c");

printf ("\n Introduci a, b, c: ");
scanf ("%f %d %f", &a, &b, &c);

printf ("\nintroduci m, q: ");
scanf ("%d %f", &m, &q);

printf ("\nL'eq.ne della retta vale y= %d x + %f");
printf ("\nL'eq.ne della parabola vale y= %f x^2 + %d x + %f ");

if ( (b-m)^2 -4*a*(c-q) ) >0

{
x1= -(b-m)+sqrt[(b-m)^2 -4*a*(c-q)];
x2= -(b-m)-sqrt[(b-m)^2 -4*a*(c-q)];

scanf ("%f %f", &x1, &x2);

y1= m*x1+q;
y2= m*x2+q;

scanf ("%f %f", &y1, &y2);

printf ("\nLa retta e' interna alla parabola e si intersecano in P (x1, y1) e in R (x2, y2)");
};

else if [(b-m)^2 -4*a*(c-q)]=0

{
x1= -(b-m)+sqrt[(b-m)^2 -4*a*(c-q)];

scanf ("%f", &x1);

y1= m*x1+q;

scanf ("%f", &y1);

printf ("\nLa retta e' tangente alla parabola e si intersecano in P (x1, y1)");
};

else [(b-m)^2 -4*a*(c-q)]<0
{

printf ("\nLa retta e' esterna alla parabola e non si intersecano in nessun punto");
}

return 0;
}

1 Risposte

  • Re: Parabola e rette

    1) la if è un struttura di controllo, non un ciclo (!)

    2) a quale if ti riferisci ?

    3) indenta meglio il codice e usa i tag CODE altrimenti non si capisce nulla

    4) In C il quadrato non si scrive ^2 (quello è il BASIC) ...
Devi accedere o registrarti per scrivere nel forum
1 risposte