Advertisement
Dany1858

inf. Esercizio 6

Nov 11th, 2013
453
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.21 KB | None | 0 0
  1. /*
  2.  ============================================================================
  3.  Name        : Esercizio6.c
  4.  Author      : Dany1858
  5.  Version     : 1.1
  6.  Copyright   : Your copyright notice
  7.  Description : Hello World in C, Ansi-style
  8.  ============================================================================
  9.  */
  10.  
  11. /*
  12. Si scriva un programma in linguaggio C in grado di determinare se
  13. l'equazione di secondo grado (ax2 + bx + c = 0) ha soluzioni reali. In
  14. particolare:
  15. a. Si definiscano tre variabili chiamate a, b e c, corrispondenti ai
  16. parametri dell’equazione
  17. b. Si acquisisca da tastiera il valore di a, b e c
  18. c. Si calcoli il cosiddetto discriminante della formula risolutiva
  19.      i. In caso il delta sia positivo, visualizzare il seguente messaggio
  20.     “L’equazione ha due soluzione REALI”
  21.     ii. Altrimenti stampare a video un messaggio per segnalare che
  22.     l’equazione non ha soluzioni reali
  23. */
  24.  
  25. /*  IMPORTANTE!!!       IMPORTANTE!!!       IMPORTANTE!!!
  26. Se Eclipse non dovesse riconoscere il comando sqrt (), procedere come segue.
  27.  
  28. Fai tasto destro sul file-> Properties, nella finestra che si apre selecione C/C++ Build->Settings
  29. Sotto GCC C Linker e facci clic su Libraries. Compaiono due riquadri, in qullo di sopra c'è scritto "Libraries (-l)" a quel punto fai clic sull'icona che raffigura un + di colore verde sopra un foglio bianco. Scrivi semplicemente "m" (senza le virgolette), ed Eclipse invierà al compilatore l'istruzione -lm.
  30.  
  31. A quel punto le funzioni della libreria matematica vanno tutte senza problemi.
  32. */
  33.  
  34. #include <stdio.h>
  35. #include <math.h>
  36.  
  37. void main ()
  38. {
  39.     int a, b, c; //Inizzializzo le variabili intere
  40.     float delta, x, x1, x2, rd; //Inizializzo le variabili reali
  41.     scanf ("%d %d %d", &a, &b, &c); //Acquisico
  42.     delta=b*b-4*a*c; //Calcolo il delta
  43.     if (delta>=0) //Se è minore o ugual ea zero
  44.     {
  45.         printf ("L'equazione ha due soluzioni REALI\n\n");
  46.         if (delta==0) //Se e uguale a zero
  47.         {
  48.             x=-b/2*a;
  49.             printf ("Le soluzioni sono coincidenti in x=%f\n\n", x);
  50.         }
  51.         else
  52.         {
  53.             rd=sqrt(delta);
  54.             x1=(-b-rd)/2*a;
  55.             x2=(-b+rd)/2*a;
  56.             printf ("Le soluzioni sono X1=%f e X2=%f", x1,x2);
  57.         }
  58.     }
  59.     else
  60.     {
  61.         printf ("L equazione non ammette soluzioni reali\n\n");
  62.     }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement