» »

Program za iskanje ničel-Problem

Program za iskanje ničel-Problem

Kootra ::

[rešeno] Tema se lahko zaklene. Živijo, zanima me, če bi mi lahko kdo pomagal pri programu, ki mora poiskati ničel iz kvadratne enacbe. Trenutno program izračuna realne ničle pravilno, kompleksne(imaginarne) pa ne (NaN).Kaj delam narobe? hvala vnaprej za pomoč in odgovore. lp
  • spremenilo: Kootra ()

kow ::

Spremenljivka d sploh ni definirana. Lahko je manjsa od 0, enaka 0 ali vecja od 0.

amacar ::

Malo čudno si tole načaral skupaj, d nedefiniran, potem ga v vsaki funkciji na novo računaš...
Nekaj na hitro:

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

using namespace std;

double calculateFirstZero(double a, double b, double d)
{
  return (-b + sqrt(d)) / (2 * a);
}

double calculateSecondZero(double a, double b, double d)
{
  return (-b - sqrt(d)) / (2 * a);
}

double calculateRealPart(double a, double b)
{
  return -b / (2 * a);
}

double calculateImaginaryPart(double a, double d)
{
  return sqrt(-d) / (2 * a);
}

double calculateDiscriminant(double a, double b, double c)
{
  return pow(b, 2) - 4 * a * c;
}

int main ()
{
  double a, b, c, x1, x2, d, realno, imaginarno;

  cout << "Podana je enacba kvadratna enacba(f(x) = a*x*x+b*x+c)" << endl;
  cout << "Vpisite spremeljivke a,b,c, da izracunamo nicle" << endl;

  cout << "Vpisi spremeljivko a:" << endl;
  cin >> a;
  cout << "Vpisi spremeljivko b:" << endl;
  cin >> b;
  cout << "Vpisi spremeljivko c:" << endl;
  cin >> c;

  d = calculateDiscriminant(a, b, c);

  if (d < 0)
    {
      realno = calculateRealPart(a, b);
      imaginarno = calculateImaginaryPart(a, d);
      cout << "x1 = " << realno << "+" << imaginarno << "i" << endl;
      cout << "x2 = " << realno << "-" << imaginarno << "i" << endl;
    }
  else
    {
      x1 = calculateFirstZero(a, b, d);
      x2 = calculateSecondZero(a, b, d);
      cout << "Prva nicla je: " << x1 << endl;
      cout << "Druga nicla je: " << x2 << endl;
    }

  return 0;
}

Zgodovina sprememb…

  • spremenil: amacar ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

C# testiranje

Oddelek: Programiranje
121273 (978) Yacked2
»

java - vrednost spremenljivk

Oddelek: Programiranje
5875 (808) kunigunda
»

C++ seminarska (strani: 1 2 )

Oddelek: Programiranje
635521 (3703) xyd1
»

Prikaz programa v windowsih

Oddelek: Programiranje
101263 (1181) s51as
»

BigInteger-->BigDecimal

Oddelek: Programiranje
8949 (845) FlashM

Več podobnih tem