Advertisement
Guest User

Kwadratowa bez udziwnien

a guest
Nov 19th, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.25 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <math.h>
  3.  
  4. int funkcja(float a, float b, float c, float *x1, float *x2) {
  5.  
  6.     float delta = (b*b - 4 * a*c);
  7.  
  8.     if (a != 0) {
  9.         if (delta > 0) {  //dwa miejsca zerowe funkcji kwadratowej
  10.             *x1 = ((-1)*b + sqrt(delta)) / (2 * a);
  11.             *x2 = ((-1)*b - sqrt(delta)) / (2 * a);
  12.             return 2;
  13.         }
  14.         else if (delta == 0) {  //jedno miejsce zerowe funkcji kwadratowej
  15.             *x1 = (-1)*b / (2 * a);
  16.             return 1;
  17.         }
  18.         else return 0;  // brak miejsc zerowych funkcji kwadratowej
  19.     }
  20.     else return 3;
  21. }
  22.  
  23.  
  24. int main() {
  25.    
  26.     float a,b,c,x1,x2;
  27.    
  28.     printf("Podaj a: ");    scanf_s("%f", &a);
  29.     printf("Podaj b: ");    scanf_s("%f", &b);
  30.     printf("Podaj c: ");    scanf_s("%f", &c);
  31.  
  32.     if(funkcja(a, b, c, &x1, &x2) == 0)
  33.         printf("Zero rozwązań funkcji kwadratowej.");
  34.     else if(funkcja(a, b, c, &x1, &x2) == 1)
  35.         printf("Jedno rozwiązanie funkcji kwadratowej:\nx = %f",x1);
  36.     else if(funkcja(a, b, c, &x1, &x2) == 2)
  37.         printf("Dwa rozwiązania funkcji kwadratowej:\nx1 = %f\nx2 = %f",x1,x2);
  38.     else if(funkcja(a, b, c, &x1, &x2) == 3)
  39.         printf("To nie jest funkcja kwadratowa.");
  40.     getchar();
  41. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement