Ragazzi mi spiegate perché questo programma risulta corretto, ma non parte?
codice:#include <stdio.h> #include <stdlib.h> #include <math.h> int main() { int a, b, c; float det, x1, x2; printf("Inserire il valore di a, b e c:\n"); scanf("%d%d%d", &a, &b, &c); { if (a != 0) { if (b != 0) { if (c != 0) { det = sqrt(b * b - 4 * a * c); if (det > 0) { x1 = (-b + det) / 2 * a; x2 = (-b - det) / 2 * a; printf("L'equazione ammette due soluzioni reali e distinte: %f - %f", x1, x2); } if (det < 0) { printf("L'equazione non ammette soluzioni reali"); } if (det == 0) { x1 = x2 = (-b + det) / 2 * a; printf("L'equazione ammette un'unica soluzione: %f", x1); } } else { x1 = 0; x2 = - b / a; printf("L'equazione ammette due soluzioni reali e distinte: %f - %f", x1, x2); } } else { if (c == 0) printf("L'equazione ammette un'unica soluzione: \nx=0"); else { if (a * c >0) { x1 = + sqrt(-c / a); x2 = - sqrt(-c / a); printf("L'equazione ammette due soluzioni reali e distinte: %f - %f", x1, x2); } else printf("L'equazione risulta essere impossibile"); } } } else { if (b != 0) { if (c != 0) { x1 = -c / b; printf("L'equazione e' di primo grado.\n La soluzione e': %f", x1); } else printf("L'equazione e' di primo grado.\n La soluzione e' x=0"); } else { if (c == 0) printf("L'equazione e' un'identita'. La soluzione e' x=0"); else printf("L'equazione e' impossibile"); } } } return 0; }

Rispondi quotando