Advertisement
nicx321

Kvadratickorovnicovac

Apr 4th, 2017
38
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.31 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <math.h>
  4.  
  5. /*
  6. X x --> 0
  7. X - --> 1
  8. - x --> 2
  9. - - --> 3
  10. */
  11.  
  12. float *vstupy(int pocet)
  13. {
  14.     float *vystup = (int *) malloc(sizeof(int) * pocet);
  15.     for(int x=1; x<=pocet; x++)
  16.     {
  17.         printf("Zadej cislo %d :",x);
  18.         scanf("%f", &vystup[(x-1)]);
  19.     }
  20.     return vystup;
  21. }
  22.  
  23. float *kvadr(float a, float b, float c)
  24. {
  25.     float *koreny = (int *) malloc(sizeof(int) * 3);
  26.  
  27.     float D=(b*b)-(4*a*c);
  28.  
  29.     float X=(-b+sqrt(D))/(2*a);
  30.     float x=(-b-sqrt(D))/(2*a);
  31.  
  32.     float R1=(a*X*X)+(b*X)+c;
  33.     float R2=(a*x*x)+(b*x)+c;
  34.  
  35.     if(R1==0 && R2==0)
  36.     {
  37.         koreny[2]=0;
  38.     }
  39.     if(R1==0 && R2!=0)
  40.     {
  41.         koreny[2]=1;
  42.     }
  43.     if(R1!=0 && R2==0)
  44.     {
  45.         koreny[2]=2;
  46.     }
  47.     if(R1!=0 && R2!=0)
  48.     {
  49.         koreny[2]=3;
  50.     }
  51.  
  52.     koreny[0] = X;
  53.     koreny[1] = x;
  54.  
  55.     return koreny;
  56. }
  57.  
  58. int main()
  59. {
  60.     float *vysledky;
  61.     float *zadano;
  62.  
  63.     zadano = vstupy(3);
  64.     vysledky = kvadr(zadano[0],zadano[1],zadano[2]);
  65.  
  66.     if(vysledky[2]==0){printf("%f - %f",vysledky[0],vysledky[1]);}
  67.     if(vysledky[2]==1){printf("%f - X",vysledky[0]);}
  68.     if(vysledky[2]==2){printf("X - %f",vysledky[1]);}
  69.     if(vysledky[2]==3){printf("X - X");}
  70.  
  71.     free(vysledky);
  72.     free(zadano);
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement