Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

4.dz
WWW:
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
ma
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 27. 01. 2007. (12:06:50)
Postovi: (347)16
Spol: muško
Sarma = la pohva - posuda
58 = 89 - 31

PostPostano: 10:12 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

[quote="5ra"]ja samo čekam da nam objave petu zadaću i da ju moramo radit za vrijeme kolokvijskog tjedna. kaj nije to uostalom zabranjeno? zato se i zove KOLOKVIJSKI TJEDAN, da se nebi neki rp-ovci sjetili tada dati zadaću....
:evil:[/quote]

hm... :-k
a što da napravimo? ja ću ih reć tati, al mislim da se njemu neće dat penjat na brdo... :roll:

:-#
5ra (napisa):
ja samo čekam da nam objave petu zadaću i da ju moramo radit za vrijeme kolokvijskog tjedna. kaj nije to uostalom zabranjeno? zato se i zove KOLOKVIJSKI TJEDAN, da se nebi neki rp-ovci sjetili tada dati zadaću....
Evil or Very Mad


hm... Think
a što da napravimo? ja ću ih reć tati, al mislim da se njemu neće dat penjat na brdo... Rolling Eyes

Silenced



_________________
ima let u finish
[Vrh]
Korisnički profil Pošaljite privatnu poruku
kus
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 12. 2005. (12:33:18)
Postovi: (4F)16
Spol: muško
Sarma = la pohva - posuda
= 7 - 4
Lokacija: Poso, kuća birtija

PostPostano: 12:42 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

jel netko mozda napravio operator + kod binarnih brojeva. mucim se sa tim vec 5-6 sati i nikako pa ako netko moze pomoc.
jel netko mozda napravio operator + kod binarnih brojeva. mucim se sa tim vec 5-6 sati i nikako pa ako netko moze pomoc.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Blizzard
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 10. 2006. (20:17:17)
Postovi: (121)16
Spol: muško
Sarma = la pohva - posuda
99 = 112 - 13
Lokacija: u sjeni....

PostPostano: 15:25 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

[quote="kus"]jel netko mozda napravio operator + kod binarnih brojeva. mucim se sa tim vec 5-6 sati i nikako pa ako netko moze pomoc.[/quote]
Meni je to isto zadavalo najviše problema :grebgreb:.... ali mislim da mi radi :gg:...

Evo ja sam ovak,dobim dva BinarniBroj-a i sad radim sljedeće:
a)Provjeravam predznake i zakljucujem koji slučaj...
-oba pozitivna, slučaj 1
-prvi pozitivan, drugi negativan, slučaj 2
-prvi negativan, drugi pozitivan, slučaj 3
-oba negativna, slučaj 4

b)Na temelju slučaja radim algoritam...
1)Ovo je najlaksi slučaj samo idem po bitovima od 0-tog do zadnjeg(vodećeg) i zbrajam ih onako kako su nas učili da se zbrajaju binarni brojevi, to sve zapamtim i vratim binarni broj koji kreiram usput :gg:...
2)Ovaj slučaj je malo kompliciraniji, zanemarim predznak ovog negativnog i pravim se da je pozitivan (ali zapamtim da je bio negativan :roll:) ... onda upotrijebim operator ">" koji sam već napravio (ili ću tek napraviti :wink:) i pogledam koji mi je od ta dva broja veći....
Onaj manji kao nadopunim "0"-ama (sprijeda) i radim oduzimanje od onog većeg.... e sad to oduzimanje je malo tricky 8)...
Recimo da mi je gornji broj onaj veći a donji onaj manji, imam slučajeve...
[table][format]align:center[/format]Gornji(veći broj) [format]align:center[/format]Donji(manji broj) [format]align:center[/format]Prijenos [format]align:center[/format]Rezultantni bit [format]align:center[/format]Novi prijenos
0 0 0 0 0
0 0 1 1 1
0 1 0 1 1
0 1 1 0 1
1 0 0 1 0
1 0 1 0 0
1 1 0 0 0
1 1 1 1 1
[/table]
I tako dobim novi broj.... onda stavim minus ako je veći bio onaj koji je bio negativan inaće ostavljam "+" predznak....
3)Isto kao i drugi samo sa okrenutim brojevima, mislim da se može zvati return b+a;
4)Isto kao i 1) samo pamtim da je predznak "-" i to stavim na kraj....

To bi trebalo biti to... barem onako načelno... meni radi.... ili ja samo mislim da mi radi :nuts2:.... možda sam negdje pogriješio u pisanju ovoga :zubo:... nadam se da je pomoglo bar malo....
kus (napisa):
jel netko mozda napravio operator + kod binarnih brojeva. mucim se sa tim vec 5-6 sati i nikako pa ako netko moze pomoc.

Meni je to isto zadavalo najviše problema Kotacici rade 100 na sat.... ali mislim da mi radi Mr Green being very Greeen indeed...

Evo ja sam ovak,dobim dva BinarniBroj-a i sad radim sljedeće:
a)Provjeravam predznake i zakljucujem koji slučaj...
-oba pozitivna, slučaj 1
-prvi pozitivan, drugi negativan, slučaj 2
-prvi negativan, drugi pozitivan, slučaj 3
-oba negativna, slučaj 4

b)Na temelju slučaja radim algoritam...
1)Ovo je najlaksi slučaj samo idem po bitovima od 0-tog do zadnjeg(vodećeg) i zbrajam ih onako kako su nas učili da se zbrajaju binarni brojevi, to sve zapamtim i vratim binarni broj koji kreiram usput Mr Green being very Greeen indeed...
2)Ovaj slučaj je malo kompliciraniji, zanemarim predznak ovog negativnog i pravim se da je pozitivan (ali zapamtim da je bio negativan Rolling Eyes) ... onda upotrijebim operator ">" koji sam već napravio (ili ću tek napraviti Wink) i pogledam koji mi je od ta dva broja veći....
Onaj manji kao nadopunim "0"-ama (sprijeda) i radim oduzimanje od onog većeg.... e sad to oduzimanje je malo tricky Cool...
Recimo da mi je gornji broj onaj veći a donji onaj manji, imam slučajeve...
Gornji(veći broj)Donji(manji broj)PrijenosRezultantni bitNovi prijenos
00000
00111
01011
01101
10010
10100
11000
11111

I tako dobim novi broj.... onda stavim minus ako je veći bio onaj koji je bio negativan inaće ostavljam "+" predznak....
3)Isto kao i drugi samo sa okrenutim brojevima, mislim da se može zvati return b+a;
4)Isto kao i 1) samo pamtim da je predznak "-" i to stavim na kraj....

To bi trebalo biti to... barem onako načelno... meni radi.... ili ja samo mislim da mi radi Nuts.... možda sam negdje pogriješio u pisanju ovoga Krezubi Mr. Green... nadam se da je pomoglo bar malo....
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
kus
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 04. 12. 2005. (12:33:18)
Postovi: (4F)16
Spol: muško
Sarma = la pohva - posuda
= 7 - 4
Lokacija: Poso, kuća birtija

PostPostano: 19:39 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

hehe ja sam isto tako radio ali sam poludio kad sam napravio slucaj 1 i 4 i kad sam vidio koliko jos posla ima za 2 i 3.
hehe ja sam isto tako radio ali sam poludio kad sam napravio slucaj 1 i 4 i kad sam vidio koliko jos posla ima za 2 i 3.


[Vrh]
Korisnički profil Pošaljite privatnu poruku
sunny
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2007. (01:06:34)
Postovi: (153)16
Sarma = la pohva - posuda
12 = 30 - 18

PostPostano: 22:02 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

meni nije sljedece jasno (u BinarniBroj-evima) : za konstruktor BinarniBroj(string s, int k=1) pise : "konstruktor koji stvara binarni broj jednak bitovima u s. [b]Ako u s ne pisu bitovi, pozovite exit(1)[/b]; Ako je zadan i k, potrebano je u binarni broj zapisati k kopija bitova od i. Pripazite na predznak binarnog broja. [b]Također, potrebno je provjeriti da li u stringu zaista piše binarni broj (ako se u stringu nalazi bilo koji znak osim 0 ili 1 ili predznaka na početku stringa, pozovite funkciju exit(0);)[/b]. Pripazite i na eliminaciju vodećih nula."

Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci :shock: :?
meni nije sljedece jasno (u BinarniBroj-evima) : za konstruktor BinarniBroj(string s, int k=1) pise : "konstruktor koji stvara binarni broj jednak bitovima u s. Ako u s ne pisu bitovi, pozovite exit(1); Ako je zadan i k, potrebano je u binarni broj zapisati k kopija bitova od i. Pripazite na predznak binarnog broja. Također, potrebno je provjeriti da li u stringu zaista piše binarni broj (ako se u stringu nalazi bilo koji znak osim 0 ili 1 ili predznaka na početku stringa, pozovite funkciju exit(0)Wink. Pripazite i na eliminaciju vodećih nula."

Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci Shocked Confused


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Gost






PostPostano: 22:13 čet, 19. 6. 2008    Naslov: Citirajte i odgovorite

[quote="sunny"]na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci :shock: :?[/quote]

s naglaskom na pocetak stringa:)
sunny (napisa):
na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci Shocked Confused


s naglaskom na pocetak stringa:)


[Vrh]
sunny
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 01. 2007. (01:06:34)
Postovi: (153)16
Sarma = la pohva - posuda
12 = 30 - 18

PostPostano: 7:35 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="Anonymous"][quote="sunny"]na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci :shock: :?[/quote]

s naglaskom na pocetak stringa:)[/quote]

i dalje ne kuzim :evil:
kak sta na pocetku stringa? u prvoj recenici provjeravam bitove... a sta njima spada u bitove? 0, 1, svi brojevi...?????? a u drugoj recenici provjeravam da li u stringu ima nesto drugog osim 0 ili 1 ili predznaka (a predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla :? :twisted:
Anonymous (napisa):
sunny (napisa):
na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci Shocked Confused


s naglaskom na pocetak stringa:)


i dalje ne kuzim Evil or Very Mad
kak sta na pocetku stringa? u prvoj recenici provjeravam bitove... a sta njima spada u bitove? 0, 1, svi brojevi...?????? a u drugoj recenici provjeravam da li u stringu ima nesto drugog osim 0 ili 1 ili predznaka (a predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla Confused Twisted Evil


[Vrh]
Korisnički profil Pošaljite privatnu poruku
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 10:01 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="sunny"][quote="Anonymous"][quote="sunny"]na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci :shock: :?[/quote]

s naglaskom na pocetak stringa:)[/quote]

i dalje ne kuzim :evil:
kak sta na pocetku stringa? u prvoj recenici provjeravam bitove... a sta njima spada u bitove? 0, 1, svi brojevi...?????? a u drugoj recenici provjeravam da li u stringu ima nesto drugog osim 0 ili 1 ili predznaka (a predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla :? :twisted:[/quote]Ako se na prvom mjestu ne nalazi predznak, exit(0), ako na svim ostalim mjestima nađeš nešto različito od 0 ili 1 (pa čak i drugi predznak) zovi exit(1)

Stvarno jest jednostavno :roll:
sunny (napisa):
Anonymous (napisa):
sunny (napisa):
na početku stringa, pozovite funkciju exit(0Boldano mi nije jasno... da li se tu trazi 2 puta ista stvar?? ili je greska ili... ja ne kuzim sto je pijesnik time htio reci Shocked Confused


s naglaskom na pocetak stringa:)


i dalje ne kuzim Evil or Very Mad
kak sta na pocetku stringa? u prvoj recenici provjeravam bitove... a sta njima spada u bitove? 0, 1, svi brojevi...?????? a u drugoj recenici provjeravam da li u stringu ima nesto drugog osim 0 ili 1 ili predznaka (a predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla Confused Twisted Evil
Ako se na prvom mjestu ne nalazi predznak, exit(0), ako na svim ostalim mjestima nađeš nešto različito od 0 ili 1 (pa čak i drugi predznak) zovi exit(1)

Stvarno jest jednostavno Rolling Eyes



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ß
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 07. 2006. (15:29:06)
Postovi: (115)16
Spol: muško
Sarma = la pohva - posuda
41 = 46 - 5
Lokacija: Graveyard Mountain Home

PostPostano: 12:05 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="pecina"][quote="sunny"]predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla :? :twisted:[/quote]Ako se na prvom mjestu ne nalazi predznak, exit(0), ako na svim ostalim mjestima nađeš nešto različito od 0 ili 1 (pa čak i drugi predznak) zovi exit(1)

Stvarno jest jednostavno :roll:[/quote]

Ono "na početku stringa" se odnosilo na predznak, u smislu:

[i]Ako se u stringu nalazi bilo koji znak (osim (0) ili (1) ili (predznaka na početku stringa)), pozovite funkciju exit(0)[/i]
:roll:

A što ako se na prvom mjestu ne nalazi predznak nego naprimjer '1' ? :P :P
Ne, mislim (ustvari, prilično sam uvjeren u to) da se radi o slučajnoj dvostrukoj obavijesti o istoj stvari. A da li izlaziš sa exit(1), exit(0) ili exit(666) mislim da je poprilično svejedno, čisto sumnjam da će provjeravat koju konstantu ti je izbacio program.

Nego, mene muči jedna druga stvar u istom zadatku. Krenuo sam napisati operator unarnog minusa, što bi stvarno trebala biti trivijalna stvar - ali, problemi! Dakle, moj potprogram obrne predznak, kao što treba, ali pritom najmanje značajni bit postavi na nulu ( ??? ).
Uglavnom, nakon provjeravanja svega i svačega, od ispisa do mogućih zaostataka u drugim funkcijama koje pozivam prije, nemam pojma u čemu je greška.
Promijenio sam funkciju unarnog minusa tako da ne radi (ne bi trebala) apsolutno ništa, dakle sad izgleda ovako:
[code:1]
BinarniBroj BinarniBroj::operator-() const {
return *this;
}
[/code:1]

I opet radi isto: ako je npr. x=1111, -x će ispisati 1110. U čemu je problem?
pecina (napisa):
sunny (napisa):
predznak mora biti na pocetku stringa)? je li se na to mislilo?
malo mi sve to nema smisla Confused Twisted Evil
Ako se na prvom mjestu ne nalazi predznak, exit(0), ako na svim ostalim mjestima nađeš nešto različito od 0 ili 1 (pa čak i drugi predznak) zovi exit(1)

Stvarno jest jednostavno Rolling Eyes


Ono "na početku stringa" se odnosilo na predznak, u smislu:

Ako se u stringu nalazi bilo koji znak (osim (0) ili (1) ili (predznaka na početku stringa)), pozovite funkciju exit(0)
Rolling Eyes

A što ako se na prvom mjestu ne nalazi predznak nego naprimjer '1' ? Razz Razz
Ne, mislim (ustvari, prilično sam uvjeren u to) da se radi o slučajnoj dvostrukoj obavijesti o istoj stvari. A da li izlaziš sa exit(1), exit(0) ili exit(666) mislim da je poprilično svejedno, čisto sumnjam da će provjeravat koju konstantu ti je izbacio program.

Nego, mene muči jedna druga stvar u istom zadatku. Krenuo sam napisati operator unarnog minusa, što bi stvarno trebala biti trivijalna stvar - ali, problemi! Dakle, moj potprogram obrne predznak, kao što treba, ali pritom najmanje značajni bit postavi na nulu ( ??? ).
Uglavnom, nakon provjeravanja svega i svačega, od ispisa do mogućih zaostataka u drugim funkcijama koje pozivam prije, nemam pojma u čemu je greška.
Promijenio sam funkciju unarnog minusa tako da ne radi (ne bi trebala) apsolutno ništa, dakle sad izgleda ovako:
Kod:

BinarniBroj BinarniBroj::operator-() const {
   return *this;
}


I opet radi isto: ako je npr. x=1111, -x će ispisati 1110. U čemu je problem?



_________________
Devious movements in your eyes moved me from relief
Breath comes out white clouds with your lies
and filters through me
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 12:09 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="ß"]Nego, mene muči jedna druga stvar u istom zadatku. Krenuo sam napisati operator unarnog minusa, što bi stvarno trebala biti trivijalna stvar - ali, problemi! Dakle, moj potprogram obrne predznak, kao što treba, ali pritom najmanje značajni bit postavi na nulu ( ??? ).
Uglavnom, nakon provjeravanja svega i svačega, od ispisa do mogućih zaostataka u drugim funkcijama koje pozivam prije, nemam pojma u čemu je greška.
Promijenio sam funkciju unarnog minusa tako da ne radi (ne bi trebala) apsolutno ništa, dakle sad izgleda ovako:
[code:1]
BinarniBroj BinarniBroj::operator-() const {
return *this;
}
[/code:1]

I opet radi isto: ako je npr. x=1111, -x će ispisati 1110. U čemu je problem?[/quote]
Što ne možeš jednostavno promijeniti predznak u '-'
ß (napisa):
Nego, mene muči jedna druga stvar u istom zadatku. Krenuo sam napisati operator unarnog minusa, što bi stvarno trebala biti trivijalna stvar - ali, problemi! Dakle, moj potprogram obrne predznak, kao što treba, ali pritom najmanje značajni bit postavi na nulu ( ??? ).
Uglavnom, nakon provjeravanja svega i svačega, od ispisa do mogućih zaostataka u drugim funkcijama koje pozivam prije, nemam pojma u čemu je greška.
Promijenio sam funkciju unarnog minusa tako da ne radi (ne bi trebala) apsolutno ništa, dakle sad izgleda ovako:
Kod:

BinarniBroj BinarniBroj::operator-() const {
   return *this;
}


I opet radi isto: ako je npr. x=1111, -x će ispisati 1110. U čemu je problem?

Što ne možeš jednostavno promijeniti predznak u '-'



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
ß
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 07. 2006. (15:29:06)
Postovi: (115)16
Spol: muško
Sarma = la pohva - posuda
41 = 46 - 5
Lokacija: Graveyard Mountain Home

PostPostano: 12:11 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="pecina"]
Što ne možeš jednostavno promijeniti predznak u '-'[/quote]

To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto!
pecina (napisa):

Što ne možeš jednostavno promijeniti predznak u '-'


To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto!



_________________
Devious movements in your eyes moved me from relief
Breath comes out white clouds with your lies
and filters through me
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 12:52 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="ß"][quote="pecina"]
Što ne možeš jednostavno promijeniti predznak u '-'[/quote]

To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto![/quote]Koruptirana ti je memorija vjerojatno. Pišeš po komadu memorije koji nisi dobro alocirao.
ß (napisa):
pecina (napisa):

Što ne možeš jednostavno promijeniti predznak u '-'


To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto!
Koruptirana ti je memorija vjerojatno. Pišeš po komadu memorije koji nisi dobro alocirao.



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
MKova
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 10. 2005. (18:24:38)
Postovi: (187)16
Spol: muško
Sarma = la pohva - posuda
= 45 - 45

PostPostano: 13:05 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

zna li tko pravilan nacin da se pozove konstruktor unutar konstruktora? U ostalim jezicima (Java, C#..) radi...

Ovako, za skup brojeva imam napisani konstruktor koji prima pointer na int kao pocetak polja i duzinu polja int:

[code:1]SkupBrojeva(int *poc, int len) {...}[/code:1]

E sad trebalo je napisati drugi konstruktor koji prima pointer na pocetak i pointer na kraj polja. Ja sam u skladu sa pravilima dobrog programiranja htio sto vise toga "ucahuriti" (enkapsuliranje = ucahurivanje kako us nas ucili :) ) Nisam htio gnjaviti se mogu li dobiti duljinu iz razlika 2 adrese od pointera pa sam samo napisao petlju:

[code:1]SkupBrojeva(int *poc, int *kraj)
{
int len = 0;
int *sacuvajPoc = poc;
while (poc != kraj) {
poc++;
len++:
}
SkupBrojeva(sacuvajPoc, len);
}[/code:1]

.. nakon izvrsavanja nesto ne stima, objekt se ne stvori dobro jer ispis poludi, pokusava pristupit memoriji negdje miljama daleko (broj elemenata n=2bilijuna umjesto n=3). Ako direktno kopiram kod iz drugog konstruktora u taj, sve radi... dakle moje pitanje je zasto? Kako pravilno pozvati konstruktor? Sto sam propustio?
zna li tko pravilan nacin da se pozove konstruktor unutar konstruktora? U ostalim jezicima (Java, C#..) radi...

Ovako, za skup brojeva imam napisani konstruktor koji prima pointer na int kao pocetak polja i duzinu polja int:

Kod:
SkupBrojeva(int *poc, int len) {...}


E sad trebalo je napisati drugi konstruktor koji prima pointer na pocetak i pointer na kraj polja. Ja sam u skladu sa pravilima dobrog programiranja htio sto vise toga "ucahuriti" (enkapsuliranje = ucahurivanje kako us nas ucili Smile ) Nisam htio gnjaviti se mogu li dobiti duljinu iz razlika 2 adrese od pointera pa sam samo napisao petlju:

Kod:
SkupBrojeva(int *poc, int *kraj)
{
    int len = 0;
    int *sacuvajPoc = poc;
    while (poc != kraj) {
        poc++;
        len++:
    }
    SkupBrojeva(sacuvajPoc, len);
}


.. nakon izvrsavanja nesto ne stima, objekt se ne stvori dobro jer ispis poludi, pokusava pristupit memoriji negdje miljama daleko (broj elemenata n=2bilijuna umjesto n=3). Ako direktno kopiram kod iz drugog konstruktora u taj, sve radi... dakle moje pitanje je zasto? Kako pravilno pozvati konstruktor? Sto sam propustio?



_________________
suradnici za razvoj igre traženi!! vidi ovo
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 13:26 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

Ja sam ovako:

[code:1]int velicina=(kraj-poc)+1;
SkupBrojeva A(poc,velicina);[/code:1]

I sad ako je A različit od praznog skupa kopiram elemnete iz a u this, a ako je prazan skup, onda je i this prazan. Al imam i ja pitanje tu:

[code:1]int velicina=(kraj-poc)+1;
SkupBrojeva A(poc,velicina);
(*this)=A;[/code:1]

radi na windowsima (devc++) al na ubuntu i g++ compileru u praktikumu ne. (segmentation fault). Zašto?

I ako napravimo
[code:1]pointer=(int*)malloc(0*sizeof(int));[/code:1]
dal će pointer bit NULL?

edit: da si sam odgovorim na zadnje pitanje: NE, pointer neće bit NULL. :)
Ja sam ovako:

Kod:
int velicina=(kraj-poc)+1;
SkupBrojeva A(poc,velicina);


I sad ako je A različit od praznog skupa kopiram elemnete iz a u this, a ako je prazan skup, onda je i this prazan. Al imam i ja pitanje tu:

Kod:
int velicina=(kraj-poc)+1;
SkupBrojeva A(poc,velicina);
(*this)=A;


radi na windowsima (devc++) al na ubuntu i g++ compileru u praktikumu ne. (segmentation fault). Zašto?

I ako napravimo
Kod:
pointer=(int*)malloc(0*sizeof(int));

dal će pointer bit NULL?

edit: da si sam odgovorim na zadnje pitanje: NE, pointer neće bit NULL. Smile



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
ß
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 07. 2006. (15:29:06)
Postovi: (115)16
Spol: muško
Sarma = la pohva - posuda
41 = 46 - 5
Lokacija: Graveyard Mountain Home

PostPostano: 14:34 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="pecina"][quote="ß"][quote="pecina"]
Što ne možeš jednostavno promijeniti predznak u '-'[/quote]

To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto![/quote]Koruptirana ti je memorija vjerojatno. Pišeš po komadu memorije koji nisi dobro alocirao.[/quote]

Ali po čemu uopće [b]ovo[/b] išta piše? :D
[code:1]BinarniBroj BinarniBroj::operator-() const {
return *this;
}[/code:1]

Ovo samo vraća referencu na onog ko ga je pozvao, ne? Ali ispis od ovog:[code:1]cout<<x<<endl;
cout<<(-x)<<endl;[/code:1]bude ovo:

11111
11110

Zašto, pobogu?!
:?: :?: :?:
pecina (napisa):
ß (napisa):
pecina (napisa):

Što ne možeš jednostavno promijeniti predznak u '-'


To sam i napravio, ali nije u tome stvar. Predznak jednostavno promijenim u '-' (ili u '+' ako je bio negativan), ali usto mi ovo prčka po bitovima, a ne kužim zašto!
Koruptirana ti je memorija vjerojatno. Pišeš po komadu memorije koji nisi dobro alocirao.


Ali po čemu uopće ovo išta piše? Very Happy
Kod:
BinarniBroj BinarniBroj::operator-() const {
   return *this;
}


Ovo samo vraća referencu na onog ko ga je pozvao, ne? Ali ispis od ovog:
Kod:
cout<<x<<endl;
   cout<<(-x)<<endl;
bude ovo:

11111
11110

Zašto, pobogu?!
Question Question Question



_________________
Devious movements in your eyes moved me from relief
Breath comes out white clouds with your lies
and filters through me
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
Luuka
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 02. 2007. (20:34:54)
Postovi: (925)16
Spol: muško
Sarma = la pohva - posuda
188 = 301 - 113
Lokacija: Hakuna Matata

PostPostano: 15:11 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

Upozoren sam od dvička i arye (hvala) pa da i vama proslijedim:

Kod fje ++ (SkupBrojeva) pripazite ako su u skupu i maksi i maksi-1. Onda bi se moglo dogodit da nakon poziva ++ u skupu budu 2 maksija, a to ne smije bit.

Analogno kod -- (tu su mini i mini+1 problem)

:D
Upozoren sam od dvička i arye (hvala) pa da i vama proslijedim:

Kod fje ++ (SkupBrojeva) pripazite ako su u skupu i maksi i maksi-1. Onda bi se moglo dogodit da nakon poziva ++ u skupu budu 2 maksija, a to ne smije bit.

Analogno kod -- (tu su mini i mini+1 problem)

Very Happy



_________________
"Bolje bi prolazio na faxu da sam na drogama nego na netu" - by a friend of mine
"Poslije spavanja doma spavanje bilo di mi je najdraža stvar" - by the same guy Very Happy
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
ß
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 29. 07. 2006. (15:29:06)
Postovi: (115)16
Spol: muško
Sarma = la pohva - posuda
41 = 46 - 5
Lokacija: Graveyard Mountain Home

PostPostano: 15:58 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

Ako ikog zanima, pronašao sam grešku u onom gore. Stvar je bila što sam u copy-konstruktoru postavio u for-petlji da indeks ide od 1 a ne 0 ... :oops: :oops:
Ako ikog zanima, pronašao sam grešku u onom gore. Stvar je bila što sam u copy-konstruktoru postavio u for-petlji da indeks ide od 1 a ne 0 ... Embarassed Embarassed



_________________
Devious movements in your eyes moved me from relief
Breath comes out white clouds with your lies
and filters through me
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
rafaelm
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 12. 2006. (13:30:11)
Postovi: (21F)16
Spol: muško
Sarma = la pohva - posuda
76 = 86 - 10
Lokacija: Zagreb

PostPostano: 18:27 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="ß"]Zašto, pobogu?!
:?: :?: :?:[/quote]

Meni program izbacuje takve nebuloze da je to za nevirovati;
tipa [code:1]cout << (BinarniBroj("1100")+BinarniBroj("11") << endl;[/code:1]
izbacuje različit rezultat ovisno o tomu gdje se nalazi u main-u :shock:
ß (napisa):
Zašto, pobogu?!
Question Question Question


Meni program izbacuje takve nebuloze da je to za nevirovati;
tipa
Kod:
cout << (BinarniBroj("1100")+BinarniBroj("11") << endl;

izbacuje različit rezultat ovisno o tomu gdje se nalazi u main-u Shocked



_________________
Rafael Mrđen
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
MKova
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 01. 10. 2005. (18:24:38)
Postovi: (187)16
Spol: muško
Sarma = la pohva - posuda
= 45 - 45

PostPostano: 22:51 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

[quote="rafaelm"]
Meni program izbacuje takve nebuloze da je to za nevirovati;
tipa [code:1]cout << (BinarniBroj("1100")+BinarniBroj("11") << endl;[/code:1]
izbacuje različit rezultat ovisno o tomu gdje se nalazi u main-u :shock:[/quote]

ocito krivo nesto citas ili pises po memoriji, jer ovisno tome gdje se u mainu nalazi se memorija drugacije alocira za varijable...
rafaelm (napisa):

Meni program izbacuje takve nebuloze da je to za nevirovati;
tipa
Kod:
cout << (BinarniBroj("1100")+BinarniBroj("11") << endl;

izbacuje različit rezultat ovisno o tomu gdje se nalazi u main-u Shocked


ocito krivo nesto citas ili pises po memoriji, jer ovisno tome gdje se u mainu nalazi se memorija drugacije alocira za varijable...



_________________
suradnici za razvoj igre traženi!! vidi ovo
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
5ra
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 13. 08. 2006. (21:34:08)
Postovi: (D5)16
Spol: žensko
Sarma = la pohva - posuda
10 = 31 - 21

PostPostano: 23:01 pet, 20. 6. 2008    Naslov: Citirajte i odgovorite

što nije da exit izbacuje iz programa samo ako je broj ili izraz u exit različit od nule?
što nije da exit izbacuje iz programa samo ako je broj ili izraz u exit različit od nule?
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji 2. godine -> Računarski praktikum 1 Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7  Sljedeće
Stranica 3 / 7.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan