Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- double v;
- double w;
- double h;
- bool numbersOK = false;
- void zadavaniCisel();
- bool jeKladne(double i);
- bool jeDesetinne(double i);
- void spocitatFaktorizaci();
- double vypocitejChybu();
- /*
- FAKTORIZACE
- Program určitě není vhodný hned odevzdat, nevím přesně jak funguje ten váš "testovací systém" a jak zadává do programu hodnoty.
- Je možné že je nezadává přes konzoli, ale přímo programu předá spouštěcí parametry. V tom případě je třeba do funkce main() přidat
- jako parametr pole pointerů na datový typ char (tak jak je to v zadání). Signatura metody main by pak vypadala int main (char * argv [])
- Také jsem moc nepochopil jak mají vypadat vstupní hodnoty, jestli má být první číslo jen kladné nebo kladné + 0 a nebo musí být desetinné ??
- Faktorizace samotná funguje takže stačí to jen doupravit a mělo by to být OK.
- */
- int main()
- {
- zadavaniCisel();
- if (numbersOK)
- {
- spocitatFaktorizaci();
- cout << "Cislo " << v << " lze faktorizvat na " << w << " a " << h << ". Faktorizace ma chybu " << vypocitejChybu() << endl;
- }
- return 0;
- }
- void spocitatFaktorizaci()
- {
- h = h * ((w * v) / (w * w * h));
- w = w * ((v *h) / (w * h * h));
- }
- double vypocitejChybu()
- {
- return v - (w * h);
- }
- void zadavaniCisel()
- {
- cout << "Zadejte nezaporne cislo" << endl;
- cin >> v;
- if (!jeKladne(v))
- {
- cout << "Chyba!";
- return;
- }
- cout << "Zadejte kladne desetinne cislo" << endl;
- cin >> w;
- if (!jeKladne(w) || !jeDesetinne(w))
- {
- cout << "Chyba!";
- return;
- }
- cout << "Zadejte kladne desetinne cislo" << endl;
- cin >> h;
- if (!jeKladne(h) || !jeDesetinne(h))
- {
- cout << "Chyba!";
- return;
- }
- numbersOK = true;
- }
- bool jeKladne(double i)
- {
- if (i > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
- bool jeDesetinne(double i)
- {
- if ((i - (int)i) > 0)
- {
- return true;
- }
- else
- {
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment