Potrzebna funkcja rozwiązująca równanie kwadratowe

0

Cześć..
Był by ktoś w stanie napisać taki program ?? Chce zacząć programowanie w tę stronę ale jestem z tego na razie zielony... :(

Napisz funkcję quadratic rozwiązującą równanie kwadratowe ax2+bx+c = 0. Funkcja przyjmuje wartości parametrów a, b, c oraz adresy dwóch zmiennych rzeczywistych i zwraca wyróżnik równania. Jeżeli rówanie posiada rozwiązania, funkcja wpisuje je pod wskazane adresy. Funkcja powinna być przystosowana do użycia w przykładowym programie poniżej. Funkcja korzysta tylko z nagłówka cmath. Jako rozwiązanie prześlij samą funkcję.

Przykładowy program

int main()
{
    double delta, x1, x2;
    delta = quadratic(&x1, &x2, 1.2, 3.7, -4);
    std::cout << delta << std::endl;
    std::cout << x1 << " " << x2 << std::endl;
}

Wykonanie

Out: 32.89
Out: -3.93124 0.847908
1

Jak szukasz kogoś do wykonania za ciebie zadania domowego to zapłać (Ogłoszenia drobne), w przeciwnym wypadku pokaż co już masz - to podstawy, możesz śmiało poklikać dowolne kursy.

0

Użyj metody Newtona... z deflacją liniową. :)

0

Te zadania są od kolegi który studiuje.. tego nie umiem wgl. zacząć.. ale w takim razie jak by ktoś zerknął na zadanie, które zrobiłem..

Wszystkie liczby pierwsze mniejsze od danej liczby naturalnej n można wyznaczyć następującą metodą
zwaną sitem Eratostenesa. Spośród liczb naturalnych większych od 1 i mniejszych od n wykreślamy
wszystkie wielokrotności 2 poczynając od 4, następnie wszystkie wielokrotności 3 poczynając od 6 i tak
dalej. Pozostałe na koniec niewykreślone liczby to wszystkie liczby pierwsze mniejsze od n.
Napisz program eratostenes, który przyjmuje jako argument wywołania liczbę naturalną i wypisuje
na standardowe wyjście wszystkie mniejsze od niej liczby pierwsze w kolejności rosnącej.

wykonanie:

#include <math.h>
#include <iostream>

using namespace std;

int main()
{
    int n = 0;
    int mnoznik = 2;
    cout << "Podaj liczbe naturalna: ";
    cin >> n;

    int Tab[n];
for(int i = 0;i < n;i++){Tab[i]=i+1;}
do
{
    for(int i = (mnoznik-1)+mnoznik; i < n;i = i + mnoznik)
    {
        Tab[i] = 0;
    }

    for(int i = mnoznik; i < n;i++)
    {
        if(Tab[i] != 0)
        {
            mnoznik = Tab[i];
            break;
        }
    }
}while(mnoznik * 2  < n);

    for(int i=1; i <n;i++){if(Tab[i] != 0){cout << Tab[i] << " ";}}

    return 0;
}
1
void sieve(size_t n) {
  std::vector<bool> compound(n);

  compound[0] = compound[1] = true;

  for (size_t i = 2; i * i < n; ++i) {
    for (size_t j = i; j < n; j += i) {
      compound[j] = true;
    }
  }

  for (size_t i = 2; i < n; ++i) {
    if (!compound[i]) std::cout << i << '\n';
  }
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1