Advertisement
Talar97

[JPO] Kolokwium 2 zad 1 (100%)

May 30th, 2018
347
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.12 KB | None | 0 0
  1. /*
  2. Napisać klasę RownanieKwadratowe. Klasa ma przechowywać współczynniki równania. Klasa ma posiadać metody:
  3.  
  4. wpr_wsp(..........) - funkcje do wprowadzania współczynników równania
  5. oblicz_delta(.......) - funkcja zwracająca wartość delty dla podanych współczynników
  6. oblicz_pierwiastki(.....) - funkcja zwracająca pierwiastki równania kwadratowego
  7. Oraz funkcję zaprzyjaźnioną sprawdzającą czy dwa równania mają takie same współczynniki.
  8. */
  9.  
  10. #include <cstdlib>
  11. #include <iostream>
  12. #include <math.h>
  13.  
  14. using namespace std;
  15.  
  16.  
  17. class RownanieKwadratowe{
  18. private:
  19.     float a, b, c;
  20. public:
  21.     friend bool sprawdzWsp(RownanieKwadratowe x, RownanieKwadratowe y);
  22.    
  23.     void wpr_wsp(){
  24.         cout << "a: "; cin >> this->a;
  25.         cout << "b: "; cin >> this->b;
  26.         cout << "c: "; cin >> this->c;
  27.     }
  28.    
  29.     float oblicz_delta(){
  30.         return (b * b) - (4*a*c);
  31.     }
  32.    
  33.     float *oblicz_pierwiastki(){
  34.         float * wyniki = new float[2];
  35.         if(this->oblicz_delta() > 0){
  36.             wyniki[0] = ((-1*b)-sqrt(this->oblicz_delta()))/(2*a);
  37.             wyniki[1] = ((-1*b)+sqrt(this->oblicz_delta()))/(2*a);
  38.             cout << wyniki[0] << ", " << wyniki[1] << endl;
  39.             return wyniki;
  40.         }
  41.         else if(this->oblicz_delta() == 0){
  42.             wyniki[0] = (-1*b)/2*a;
  43.             cout << wyniki[0] << endl;
  44.             return wyniki;
  45.         }
  46.         else if(this->oblicz_delta() < 0){
  47.             cout << "Brak pierwiastkow" << endl;
  48.             return NULL;
  49.         }
  50.     }
  51. };
  52.  
  53. bool sprawdzWsp(RownanieKwadratowe x, RownanieKwadratowe y){
  54.     if(x.a == y.a){
  55.         if(x.b == y.b){
  56.             if(x.c == y.c) return true;
  57.         }
  58.     }
  59.     else return false;
  60. }
  61.  
  62.  
  63. int main() {
  64.     RownanieKwadratowe x;
  65.     x.wpr_wsp();
  66.     cout << x.oblicz_pierwiastki() << endl;
  67.    
  68.     RownanieKwadratowe y;
  69.     y.wpr_wsp();
  70.     cout << y.oblicz_pierwiastki() << endl;
  71.    
  72.     cout << endl << "Czy pierwiastki maja takie same wspolczynniki? ";
  73.     if(sprawdzWsp(x, y)) cout << "Tak";
  74.     else cout << "Nie";
  75.    
  76.     return EXIT_SUCCESS;
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement