1.Napisz program z użyciem klasy, który dla wprowadzonych współczynników a, b, c funkcji kwadratowej wyświetla wprowadzone dane w postaci: f(x)= ax2 + bx + c ,wylicza i wyświetla deltę, wylicza i wyświetla miejsca zerowe.

Program w C++


Odpowiedź :

Odpowiedź:

#include <iostream>

#include <cmath>

class SquareFunction { //tworzymy klase o polach publicznych

public:

   int m_a{}; //ustawiamy zmienne klasy

   int m_b{};

   int m_c{};

   SquareFunction(int a, int b, int c) : m_a(a), m_b(b), m_c(c) {} //tworzymy kostruktor z listą inicjalizującą

   void print() const; //deklarujemy metody naszej klasy. 1 do wyswietlania

   int countDelta() const; //do liczenia delty

   void printZeroPlace(); //do wyswietlania miejsc zerowych

};

void SquareFunction::print() const { //definicja funkcji zeklarowanej w klasie

   std::cout << "F(x) = " << m_a << "x^2 + " << m_b << "x + " << m_c << '\n';

}

int SquareFunction::countDelta() const { //j.w z wzoru

   return m_b * m_b - 4 * (m_a * m_c);

}

void SquareFunction::printZeroPlace() { //j.w z wzorów

   if (countDelta() < 0) {

       std::cout << "Brak miejsc zerowych \n";

   } else if (countDelta() == 0) {

       std::cout << "x0 = " << (-1.0 * (m_b)) / (2 * m_a) << '\n';

   } else {

       std::cout << "x1 = " << (-1.0 * (m_b) + sqrt(countDelta())) / (2 * m_a) << '\n';

       std::cout << "x2 = " << (-1.0 * (m_b) - sqrt(countDelta())) / (2 * m_a) << '\n';

   }

}

int main() {

   int a, b, c; //wczytujemy dane z klawiatury

   std::cin >> a >> b >> c;

   auto squareFunction = SquareFunction(a, b, c); //tworzymy obiekt  

   squareFunction.print(); //wyswietlamy wszystko

   std::cout << "Delta = " << squareFunction.countDelta() << std::endl;

   squareFunction.printZeroPlace();

   return 0;

}

Wyjaśnienie:

Jak coś niejasne to pytaj :)