urbic.com logotip

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.