Advertisement
LeTuanAnh

PT bac 4

Oct 17th, 2015
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 1.58 KB | None | 0 0
  1. #include <conio.h>
  2. #include <stdio.h>
  3. #include <math.h>
  4. int pt2(int a, int b, int c);
  5. int main(){
  6.  
  7.     int a, b, c;
  8.     float delta;
  9.  
  10.     printf("\nNhap a: ");
  11.     scanf_s("%d", &a);
  12.  
  13.     printf("\nNhap b: ");
  14.     scanf_s("%d", &b);
  15.  
  16.     printf("\nNhap c: ");
  17.     scanf_s("%d", &c);
  18.     delta = b*b - 4 * a*c;
  19.     if (a == 0 && b == 0 && c == 0){
  20.         printf("\nPhuong trinh vo so nghiem");
  21.         _getch();
  22.         return 0;
  23.     }
  24.     if (a == 0 && b != 0 && c != 0){
  25.         if ((-(float)c / b) >= 0){
  26.             printf("\nx1 = %f", sqrt(-(float)c / b));
  27.             printf("\nx2 = %f", -sqrt(-(float)c / b));
  28.         }
  29.         else{
  30.             printf("\nPhuong trinh vo nghiem");
  31.         }
  32.         _getch();
  33.         return 0;
  34.     }
  35.     if (pt2(a, b, c) == 1){
  36.         if (delta == 0){
  37.             printf("\nx1 = %f", sqrt(-(float)b / (2 * a)));
  38.             printf("\nx2 = %f", -sqrt(-(float)b / (2 * a)));
  39.         }
  40.         else{
  41.             if ((-b + sqrt((double)delta)) >= 0){
  42.                 printf("\nx11 = %f",sqrt(( -b + sqrt((double)delta))));
  43.                 printf("\nx12 = %f", -sqrt((-b + sqrt((double)delta))));
  44.             }
  45.             if ((-b - sqrt((double)delta)) >= 0){
  46.                 printf("\nx21 = %f", sqrt((-b - sqrt((double)delta))));
  47.                 printf("\nx22 = %f", -sqrt((-b - sqrt((double)delta))));
  48.             }
  49.         }
  50.  
  51.     }
  52.     else
  53.     {
  54.         printf("\nPhuong trinh vo nghiem");
  55.     }
  56.  
  57.     _getch();
  58.     return 0;
  59. }
  60. int pt2(int a, int b, int c){
  61.  
  62.     float del = b*b - 4 * a*c;
  63.     if (a == 0 && b == 0 && c != 0)
  64.         return 0;
  65.     if (del < 0){
  66.         return -1;
  67.     }
  68.    
  69.     if (del == 0){
  70.         return (-b / (2 * a) >= 0);
  71.     }
  72.     if (del > 0){
  73.         if ((-b + sqrt((double)del)) / (2 * a) < 0 && (-b - sqrt((double)del)) / (2 * a) < 0){
  74.             return 0;
  75.         }
  76.         else{
  77.             return 1;
  78.         }
  79.  
  80.        
  81.     }
  82.  
  83. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement