Forum » Programiranje » Program za absolutno vrednost
Program za absolutno vrednost
Matic1911 ::
Zdravo!
Napisat morem program ki mi bo omogočal, da uporabnik vnese določeno število, programo pa more nato izpisati absolutno vrednost števila.
Moja koda zgleda takole:
Nevem kaj je narobe pri tej funkciji. Napisana je točno tako kot je v teoriji prav za absolutne vrednosti.
Prosim za pomoč.
LP
Napisat morem program ki mi bo omogočal, da uporabnik vnese določeno število, programo pa more nato izpisati absolutno vrednost števila.
Moja koda zgleda takole:
#include <iostream> #include <cmath> using namespace std; float abs(float x) { if(x > 0) { return (-x); } else { return (x); } } int main() { int x; cout << "Vnesite poljubno število:" << endl; cin >> x; cout << "Absolutna vrednost vnešenega števila je: " << abs(x) << endl; }
Nevem kaj je narobe pri tej funkciji. Napisana je točno tako kot je v teoriji prav za absolutne vrednosti.
Prosim za pomoč.
LP
Meizu ::
Če ne drugega imaš v pogoju if napačno postavljeno enačbo.
Tvoj pogoj vedno vrne negativno število. Absolutna vrednost pa pomeni vedno nenegativno število.
to bo bolj pravilno.
Tvoj pogoj vedno vrne negativno število. Absolutna vrednost pa pomeni vedno nenegativno število.
if(x<0)
to bo bolj pravilno.
Matic1911 ::
Joj komaj zdaj sem opazil da sem malo pomešal vse skupaj. Pogoj if je bil narobe postavljen ter prvi return
Hvala za odgovor.
Sedaj pa me še nekaj muči.
Koda:
Ok vem, da je zelo enostavna koda. Samo zakaj mi na koncu v konzoli vrže ven število 160? Od kod se to število sploh pojavi če
pa ga nisem nikjer napisal. Res nevem kaj bi lahko bilo narobe sej je en zelo enostaven pogoj v celotnem programu. Program mi prav zračuna če je število sodo ali liho samo nevem od koder se pojavi tista 160. Res nevem več kaj naj naredim da bo nehalo prikazovat tisto 160.
Hvala za odgovor.
Sedaj pa me še nekaj muči.
Koda:
#include <iostream> using namespace std; bool sodo(int x) { if(x % 2 == 0) { cout << "Število je sodo." << endl; } else { cout << "Število je liho." << endl; } } int main() { int x; cout << "Vnesite poljubno število:" << endl; cin >> x; cout << sodo(x) << endl; return 0; }
Ok vem, da je zelo enostavna koda. Samo zakaj mi na koncu v konzoli vrže ven število 160? Od kod se to število sploh pojavi če
pa ga nisem nikjer napisal. Res nevem kaj bi lahko bilo narobe sej je en zelo enostaven pogoj v celotnem programu. Program mi prav zračuna če je število sodo ali liho samo nevem od koder se pojavi tista 160. Res nevem več kaj naj naredim da bo nehalo prikazovat tisto 160.
kloko ::
Funkcijo sodo imaš definirano kot tip bool. V zadnjem cout v main se izpiše vrednost, ki jo vrača sodo. Ker v sami funkciji nič ne vračaš, se izpiše "karneki".
L.p., Kloko
L.p., Kloko
golobich ::
tko kot je reku kloko. Definiraj funkcijo kot void in jo potem kliči kot sodo (x) pa bo delalo ;)
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | RekurzijaOddelek: Programiranje | 2379 (1839) | lebdim |
» | [C++] MetodeOddelek: Programiranje | 1507 (1339) | Klobasa |
» | C++ spiralno pisanje v arrayOddelek: Programiranje | 1446 (1197) | ghost |
» | c++ abs valueOddelek: Programiranje | 2065 (1862) | Gundolf |
» | Programerska naloga. A ne vem no.Oddelek: Programiranje | 1256 (1056) | noraguta |