Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[c++] równanie kwadratowe na liczbach ujemnych - jednostka urojona

Ostatnio zmodyfikowano 2017-12-08 20:56
Autor Wiadomość
walo
Temat założony przez niniejszego użytkownika
» 2017-12-08 00:44:29
Wytłumacz to nauczycielowi, że nie mieliśmy czegoś co on wprowadza jako kontynuacje haha ;P.
P-167727
mateczek
» 2017-12-08 03:00:30
Wytłumacz to nauczycielowi, że nie mieliśmy czegoś co on wprowadza jako kontynuacje haha ;P.
trochę nie chce mi się w to wierzyć, by w szkole (technikum, czy liceum) wymagali liczb zespolonych bez chociaż krótkiego wstępu jak się za to zabrać.
poniżej przykład z wykorzystaniem klasy liczb zespolonych std::complex
C/C++
#include <iostream>
#include <cmath>
#include<complex>

using namespace std;
int main() {
    double a, b, c, delta;
    complex < double > x1, x2;
    cout << "Podaj trzy liczby Twojej funkcji kwadratowej";
    cin >> a >> b >> c;
    if( a == 0 ) cout << "Parametr a nie moze byc rowny 0!" << endl;
    else {
        delta =( b * b ) - 4 * a * c;
        complex < double > D = delta;
        D = sqrt( D );
        x1 =( - b - D ) /( 2 * a );
        x2 =( - b + D ) /( 2 * a );
        cout << x1 << " " << endl;
        cout << x2 << " " << endl;
    }
}
P-167728
walo
Temat założony przez niniejszego użytkownika
» 2017-12-08 14:06:04
A jednak.. ;). Koleś wykłada na studiach i g... go to obchodzi, że my tego nie mieliśmy :). Co do przykładu który podesłałeś to stało się to o wiele jaśniejsze ;), dzięki :).
P-167732
mateczek
» 2017-12-08 20:56:35
bardzo prosta wstępna implementacja klasy zespolona przeciążone operatory dodawania, mnożenia oraz operator wypisywania <<.
do pełnej funkcjonalności jeszcze sporo brakuje.
C/C++
#include<iostream>
#include<cmath>
using namespace std;
class zespolona {
    friend ostream & operator <<( ostream & s, const zespolona & z );
    double im; //urojona
    double re; //rzeczywsita
public:
    zespolona( double _re, double _im = 0 ) {
        im = _im;
        re = _re;
    }
    zespolona() {
        im = 0;
        re = 0;
    }
    zespolona operator +( const zespolona & z ) {
        zespolona temp( re + z.re, im + z.im );
        return temp;
    }
    zespolona operator *( const zespolona & z ) {
        zespolona temp( re * z.re - im * z.im, re * z.im + im * z.re );
        return temp;
    }
   
   
};
ostream & operator <<( ostream & s, const zespolona & z ) {
    return s << "<" << z.re << ";" << z.im << ">";
}

int main()
{
    zespolona z1( 1, 1 );
    zespolona z2( 0, 1 );
    zespolona z3 = z1 * z2;
    cout << z3 << endl;
    cout << z1 + z2 + z3 << endl;
   
}
P-167737
1 « 2 »
Poprzednia strona Strona 2 z 2