Naloga:
Napišite program, ki reši kvadratno enačbo v kompleksnih številih. Program naj vas na začetku prosi, da vnesite kompleksne koeficiente kvadratne enačbe in vam nato izpiše rešitvi v obliki a+b*i. Predpostavite, da kvadratna enačba vodilnega koeficienta nima 0.
#include <iostream>
#include <cmath>
#include <complex>
using namespace std;
int main ()
{
complex<float> a, b, c;
complex<float> d, x1, x2;
float a1,a2;
cout << "Vnesi realni del parametra a: ";
cin >> a1 ;
cout << "Vnesi imaginarni del parametra a: ";
cin >> a2 ;
a=complex<float>(a1,a2);
cout << "Vnesi realni del parametra b: ";
cin >> a1 ;
cout << "Vnesi imaginarni del parametra b: ";
cin >> a2 ;
b=complex<float>(a1,a2);
cout < "Vnesi realni del parametra c: ";
cin >> a1 ;
cout << "Vnesi imaginarni del parametra c: ";
cin >> a2 ;
c=complex<float>(a1,a2);
d=b*b-complex<float>(4.,0.)*a*c;
x1=(-b+sqrt(d))/complex<float>(2.,0.)/a;
x2=(-b-sqrt(d))/complex<float>(2.,0.)/a;
cout << "x1=" << real(x1) << " +" << imag(x1) << "i" << endl;
cout << "x2=" << real(x2) << " +" << imag(x2) << "i" << endl;
return 0;
}
Tekst sedaj shranimo kot datoteko kvadrat3.cpp in prevedemo.
Tu je sedaj še print screen postopka prevajanja z nekaj rezultati. V kolikor vam kakšna podrobnost ni jasna, mi sporočite.
Nazaj na osnovno stran za predmet Uporaba numeričnih metod v kemiji.