[c++] równanie kwadratowe na liczbach ujemnych - jednostka urojona
Ostatnio zmodyfikowano 2017-12-08 20:56
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. |
|
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 #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; } }
|
|
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 :). |
|
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. #include<iostream> #include<cmath> using namespace std; class zespolona { friend ostream & operator <<( ostream & s, const zespolona & z ); double im; double re; 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; }
|
|
1 « 2 » |