oregon ha scritto:
@Jackie ... non ti sei accorto che l'ultima versione prevede i float?
Già Oregon, il problema è che io ho riscritto in C...
Cmq ho corretto nella mia "traduzione" la int in float.
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main( void )
{
float a;
float b;
float c;
float d;
float x1;
float x2;
puts( "Inserisci il coefficiente della x al quadrato: \n" );
scanf( "%f", &a );
puts( "Inserisci il coefficiente della x: \n" );
scanf( "%f", &b );
puts( "Inserisci il coefficiente della c: \n" );
scanf( "%f", &c );
if (a==0) {
puts( "L'equazione non e' di secondo grado" );
x1=x2=-(b/a);
puts( "x1<<endl" );
} else {
if(c==0) {
puts( "L'equazione e' spuria" );
x1 = 0;
x2 = -(b/a);
printf( "\nx1 = %f", x1 );
printf( "\nx2 = %f", x2 );
} else {
if(b==0) {
puts( "L'equazione e' pura" );
x1 = -sqrt(-c/a);
x2 = sqrt(-c/a);
printf( "\nx1 = %f", x1 );
printf( "\nx2 = %f", x2 );
} else {
if((a && b && c)!=0) {
d= (b*b)-4*a*c;
if(d>0) {
x1 = ((-b)-sqrt(d))/2*a;
x2 = ((-b)+sqrt(d))/2*a;
printf( "\nx1 = %f", x1 );
printf( "\nx2 = %f", x2 );
}
if(d==0) {
x1 = (-b)/2*a;
printf( "\nx1 = %f", x1 );
printf( "\nx2 = x1 = %f", x1 );
}
if(d<0) {
puts( "Questa equazione e' impossibile in R ma ha due soluzioni complesse in C" );
}
}
}
}
}
}
Il problema è ora, almeno per me, verificare il programma perchè ci vorrebbero degli esercizi svolti di equazioni di secondo grado perchè io ho sparato a caso i coefficienti di x quadro, x e c....
Per esempio in questo printscreen:
http://prntscr.com/ftfkc
Qualcuno ha degli esercizi svolti per verificare??? Li cercherò anche io... se potreste anche controllare se il programma è corretto, dopo lo salvo e lo uso per i miei esercizi di matematica!!...