Forum » Programiranje » C++ pomoč
C++ pomoč
hexor ::
Pozdrav!
Prosil bi vas za pomoč pri programu ki bere iz vhoda pare realnih števil(x,y).Ko prebere oba para naj vrednost vpiše v datoteko s presledkom v novo vrstico-pred vrednostima naj bo številka vrstice in jima naj odreže decimalni del v stolpcih x in y.Zapisovanje se naj ponavlja tako dolgo dokler za vrednost x ali y ne vnesem besedo konec.Vsaka pomoč bo dobrodošla.Hvala!
Prosil bi vas za pomoč pri programu ki bere iz vhoda pare realnih števil(x,y).Ko prebere oba para naj vrednost vpiše v datoteko s presledkom v novo vrstico-pred vrednostima naj bo številka vrstice in jima naj odreže decimalni del v stolpcih x in y.Zapisovanje se naj ponavlja tako dolgo dokler za vrednost x ali y ne vnesem besedo konec.Vsaka pomoč bo dobrodošla.Hvala!
hexor ::
kako bi odrezal decimalni del od stevila npr. če vpišem 15.23,da mi v datoteko vpiše 15.....
hm.....
hm.....
Zgodovina sprememb…
- spremenil: hexor ()
deninho1989 ::
Pozdravljeni...Tudi jaz rabim eno pomoč...V ponedeljek imamo izpit iz programiranja, potem pa dobimo sledečo nalogo:
navodilo je pa sledeče: kaj izpiše izvedba naslednjega programa?
Zanima me če mi lahko kdo razloži zakaj in kako pride do naslednjih rešitev:
AABABCAB21A1A1321211
tnx, Lp
navodilo je pa sledeče: kaj izpiše izvedba naslednjega programa?
Zanima me če mi lahko kdo razloži zakaj in kako pride do naslednjih rešitev:
AABABCAB21A1A1321211
tnx, Lp
Zgodovina sprememb…
- spremenil: deninho1989 ()
schtr4jh ::
Ob kreiranju objektov pri dedovanju se konstruktorji izvedejo od zgoraj navzdol. Ko se program konča se destruktorji izvedejo od spodaj navzgor.
Kreiraš objekt o_a razreda A. Izvede se A(), ki izpiše A;
Kreiraš objekt o_b razreda B. Izvede se A(), ki izpiše A in nato B(), ki izpiše B;
Kreiraš objekt o_c razreda C. Izvede se A(), ki izpiše A, nato B(), ki izpiše B ter na koncu C(), ki izpiše C.
V zavitih oklepajih kreiraš objekt o_bb razreda B. Izvede se A(), ki izpiše A ter nato B(), ki izpiše B. Ker prideš do zavitega zaklepaja, v teh dveh zaklepajih pa si kreiral objekt o_bb, se objekt "zruši", zato se kliče destruktor ~B(), ki izpiše 2 ter nato še destruktor ~A(), ki izpiše 1.
For zanka se bo izvedla 2x (i=7 in i=6). Kreiraš objekt o_aa razreda A, zato se najprej kliče konstruktor A(), ki izpiše A. Ker si prišel do zavitega zaklepaja, se kliče destruktor ~A(), ki izpiše 1. Ponovi se še enkrat (izpis: A 1).
Ker si prišel do konca programa, se morajo "zrušit" še ostali objekti, zato se kličejo destruktorji. Objekti se "rušijo" od zadnjega kreiranega do prvega kreiranega. Najprej se "zruši" o_c, ki kliče ~C(), nato ~B(), nato ~A() (izpis: 3 2 1). Za tem se "ruši" o_b - ~B() in ~A() (izpis 2 1). Na koncu se "zruši" še o_a, ki kliče samo destruktor ~A().
Še primer glede zavitih oklepajev:
Izpis: k k d d
Dovolj razumljivo?
Kreiraš objekt o_a razreda A. Izvede se A(), ki izpiše A;
Kreiraš objekt o_b razreda B. Izvede se A(), ki izpiše A in nato B(), ki izpiše B;
Kreiraš objekt o_c razreda C. Izvede se A(), ki izpiše A, nato B(), ki izpiše B ter na koncu C(), ki izpiše C.
V zavitih oklepajih kreiraš objekt o_bb razreda B. Izvede se A(), ki izpiše A ter nato B(), ki izpiše B. Ker prideš do zavitega zaklepaja, v teh dveh zaklepajih pa si kreiral objekt o_bb, se objekt "zruši", zato se kliče destruktor ~B(), ki izpiše 2 ter nato še destruktor ~A(), ki izpiše 1.
For zanka se bo izvedla 2x (i=7 in i=6). Kreiraš objekt o_aa razreda A, zato se najprej kliče konstruktor A(), ki izpiše A. Ker si prišel do zavitega zaklepaja, se kliče destruktor ~A(), ki izpiše 1. Ponovi se še enkrat (izpis: A 1).
Ker si prišel do konca programa, se morajo "zrušit" še ostali objekti, zato se kličejo destruktorji. Objekti se "rušijo" od zadnjega kreiranega do prvega kreiranega. Najprej se "zruši" o_c, ki kliče ~C(), nato ~B(), nato ~A() (izpis: 3 2 1). Za tem se "ruši" o_b - ~B() in ~A() (izpis 2 1). Na koncu se "zruši" še o_a, ki kliče samo destruktor ~A().
Še primer glede zavitih oklepajev:
class Base { public: Base() { cout << "k "; } ~Base() { cout << "d "; } }; int main() { Base o1; int a = 5; // tukaj lahko uporabljaš samo o1 if (a==5) { Base o2; // tukaj lahko uporabljaš o1 in o2 } // tukaj lahko uporabljaš samo o1 }
Izpis: k k d d
Dovolj razumljivo?
deninho1989 ::
Najlepša hvala...Zdaj mi je vse skup dosti bolj jasno;)...Spraševal sem zato ker ti ta naloga prinese 20 točk...:D
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | python osnovaOddelek: Programiranje | 2344 (1657) | detroit |
» | C++ 1. letnikOddelek: Pomoč in nasveti | 942 (734) | Tr0n |
» | osnove v Javi - zvezdiceOddelek: Programiranje | 3573 (2795) | Tutankhamun |
» | C++ kopirni konstruktorOddelek: Programiranje | 3428 (3159) | noraguta |
» | oop+php+sessionsOddelek: Izdelava spletišč | 2605 (72) | cahahopie |