oregon ha scritto:
@Jackie ... se indenti meglio il codice trovi l'errore facilmente.
Ok, giusto; ora il codice sembra corretto e funzionante:
http://prntscr.com/ft4dx
http://prntscr.com/ft4ea
http://prntscr.com/ft4g4
http://prntscr.com/ft4ij
http://prntscr.com/ft4ix
http://prntscr.com/ft4j4
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main( void )
{
int a;
int b;
int c;
int d;
int x1;
int x2;
puts( "Inserisci il coefficiente della x al quadrato: \n" );
scanf( "%d", &a );
puts( "Inserisci il coefficiente della x: \n" );
scanf( "%d", &b );
puts( "Inserisci il coefficiente della c: \n" );
scanf( "%d", &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 = %d", x1 );
printf( "\nx2 = %d", x2 );
} else {
if(b==0) {
puts( "L'equazione e' pura" );
x1 = -sqrt(-c/a);
x2 = sqrt(-c/a);
printf( "\nx1 = %d", x1 );
printf( "\nx2 = %d", 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 = %d", x1 );
printf( "\nx2 = %d", x2 );
}
if(d==0) {
x1 = (-b)/2*a;
printf( "\nx1 = %d", x1 );
printf( "\nx2 = x1 = %d", x1 );
}
if(d<0) {
puts( "Questa equazione e' impossibile in R ma ha due soluzioni complesse in C" );
}
}
}
}
}
}
Il probelma però è ancora quello della scelta della variabile in quanto un float sarebbe più indicato di un int...
Grazie del programmino, spero funzioni ora!!!