Forum » Programiranje » 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 ()
amacar ::
Malo čudno si tole načaral skupaj, d nedefiniran, potem ga v vsaki funkciji na novo računaš...
Nekaj na hitro:
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 ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | C# testiranjeOddelek: Programiranje | 1273 (978) | Yacked2 |
» | java - vrednost spremenljivkOddelek: Programiranje | 875 (808) | kunigunda |
» | C++ seminarska (strani: 1 2 )Oddelek: Programiranje | 5521 (3703) | xyd1 |
» | Prikaz programa v windowsihOddelek: Programiranje | 1263 (1181) | s51as |
» | BigInteger-->BigDecimalOddelek: Programiranje | 949 (845) | FlashM |