Advertisement
Creeper96

Untitled

Oct 23rd, 2015
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.59 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4. int main()
  5. {
  6.  
  7.     //nome programma e descrizione
  8.     printf("Equalix\n");//
  9.     printf("\nRisolutore di equazioni primo e secondo grado\n");
  10.  
  11.     // variabili di tipo float, riga: 12 variabili float di supporto.
  12.     float a, b, c;
  13.     float delta,x1,x2;
  14.  
  15.     printf("inserisci variabile'a'(grado^2):\n");    //da riga 16 a riga 26 istruzioni per l'utente e scansione variabili
  16.     scanf(" %f",&a);
  17.  
  18.     printf("\ninserisci variabile'b'(grado^1) :\n");
  19.     scanf(" %f",&b);
  20.  
  21.     printf("\ninserisci 'c' (costante):\n");
  22.     scanf(" %f",&c);
  23.  
  24.     //calcolo del delta e stampa
  25.     delta = pow(b,2) - 4 * a * c;
  26.     printf("delta:%f\n",delta);
  27.  
  28.     // controllo del grado dell'equazione, se a è nulo, l'equazione è di primo grado
  29.     // il programma in caso di a = 0 mostra una sola soluzione
  30.     if (a == 0)                      
  31.     {
  32.         x1 = ((-(c)/b));
  33.         printf("\nX:%.2f",x1);
  34.     }
  35.     else if (delta == 0)
  36.     // condizione  2 il programma in caso di delta==0 mostra la soluzione uguale per le 2 incognite
  37.     {
  38.         x1= -b / (2*a); //ti ho corretto qua, perchè come hai scritto farebbe -(b)/2*a cioè divide b / 2 e poi moltiplica per a
  39.         x2 = x1;
  40.         printf("\nX1:%.2f \nX2:%.2f",x1,x2);
  41.     }
  42.     //condizione 3 da 44 a 52 il programma in caso di delta <0 stampa"impossibile"
  43.     //in alternativa usa la formula risolutiva per trovare le incognite*/
  44.     else if (delta < 0)                    
  45.     {
  46.         printf("\nimpossibile");
  47.     }
  48.     else
  49.     {
  50.         x2=( b + sqrt(delta)) / (2*a); //ho aggiunto le parentesi in 2*a
  51.         x1=( b - sqrt(delta)) / (2*a);
  52.         printf("\nX1:%.2f \nX2:%.2f",x1,x2);
  53.     }
  54.  
  55.     return 0;
  56. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement