Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 11:06 pet, 5. 5. 2006 Naslov: |
|
|
[code:1][vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
main() {
int x, *ptr;
x = 17;
ptr = &x;
(*ptr)++;
printf("%d\n", *ptr);
}
18[/code:1]
[code:1][vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
main() {
int x, *ptr;
x = 17;
ptr = &x;
*ptr++;
printf("%d\n", *ptr);
}
-1080310824[/code:1]
Ja bih ipak rekao da "[tt]++[/tt]" ima prioritet. :?
Naime, [url=http://www.cs.cf.ac.uk/Dave/C/node4.html#SECTION00490000000000000000]formalno imaju isti prioritet[/url], ali se evaluiraju s desna na lijevo, pa "[tt]++[/tt]" dodje na red prije "[tt]*[/tt]". ;)
Odgovori ostalima:
- Niste ograniceni brojem varijabli, naravno. :)
- Svaki kod koji ne gazi zadana ogranicenja i radi sto se trazi, dobar je. :D
- Ako se nesto ucitava s [tt]%o[/tt], onda konverziju oct->dec racunalo radi automatski. 8)
Kod: | [vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
main() {
int x, *ptr;
x = 17;
ptr = &x;
(*ptr)++;
printf("%d\n", *ptr);
}
18 |
Kod: | [vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
main() {
int x, *ptr;
x = 17;
ptr = &x;
*ptr++;
printf("%d\n", *ptr);
}
-1080310824 |
Ja bih ipak rekao da "++" ima prioritet.
Naime, formalno imaju isti prioritet, ali se evaluiraju s desna na lijevo, pa "++" dodje na red prije "*".
Odgovori ostalima:
- Niste ograniceni brojem varijabli, naravno.
- Svaki kod koji ne gazi zadana ogranicenja i radi sto se trazi, dobar je.
- Ako se nesto ucitava s %o, onda konverziju oct→dec racunalo radi automatski.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
ana_math Forumaš(ica)

Pridružen/a: 24. 04. 2006. (16:33:08) Postovi: (10)16
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
nana Forumaš(ica)


Pridružen/a: 29. 11. 2005. (12:24:35) Postovi: (2AD)16
Spol: 
|
|
[Vrh] |
|
andreao Forumaš(ica)


Pridružen/a: 10. 02. 2005. (12:08:18) Postovi: (46F)16
Lokacija: SK
|
Postano: 11:28 pet, 5. 5. 2006 Naslov: |
|
|
[quote="nana"] stvarno se nadam da nece biti pointera :( [/quote]
Pa po mojoj nekoj logici, nebi ni trebali biti.
U kolokvij ti ulazi sve do 41. vježbi, mislim da je atof .
A do tada nema govora o pointerima. Osim ako si mislila, pošto smo radili na predavanju, da može biti, onda stvarno neznam.
We'll pray!!
nana (napisa): | stvarno se nadam da nece biti pointera |
Pa po mojoj nekoj logici, nebi ni trebali biti.
U kolokvij ti ulazi sve do 41. vježbi, mislim da je atof .
A do tada nema govora o pointerima. Osim ako si mislila, pošto smo radili na predavanju, da može biti, onda stvarno neznam.
We'll pray!!
_________________ 
|
|
[Vrh] |
|
Chatarin Forumaš(ica)


Pridružen/a: 14. 03. 2006. (21:49:31) Postovi: (62)16
Spol: 
Lokacija: Under the bridge
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
Postano: 11:58 pet, 5. 5. 2006 Naslov: |
|
|
[quote="ana_math"]moze li mi netko odgovoriti za sta sluze srand, rand i time?[/quote]
C ima generator pseudo-slucajnih brojeva, koji ovise o "situ". Zato ce za isto sito C generirati iste pseudo-random brojeve.
Sad kad smo to apsolvirali:
rand() vraca iduci u nizu pseudo-random broj.
srand(unsigned seed) postavlja sito (seed) na ono sto mu stavimo u zagradu i vraca prvi pseudo-random broj tog sita
time vraca trenutno sistemsko vrijeme.
Glavna caka je da se uglavnom na pocetku programa (tako da se izvrsi samo jednom) pozove nesto poput
srand((unsigned) time (NULL));
Tako da se promjeni sito ovisno o trenutnom vremenu, kako bi nas program izbacivao "slucajne brojeve". Ukoliko to ne napravimo, program ce izbacivati stalno iste brojeve.
Kasnije se koristi rand() kako se ne bi sito resetiralo.
Najscesca greska je nesto poput:
for (i=0;i<n;i++) {
x=srand((unsigned)time(NULL));
printf("%d\n", x);
}
Koji ce stalno vracati isti broj, buduci da stalno resetiramo sito, a for petlja ce se sigurno izvrsiti unutar jedne desetinke, ako ne i stotinke.
Nadam se da sam pomogao ;).
ana_math (napisa): | moze li mi netko odgovoriti za sta sluze srand, rand i time? |
C ima generator pseudo-slucajnih brojeva, koji ovise o "situ". Zato ce za isto sito C generirati iste pseudo-random brojeve.
Sad kad smo to apsolvirali:
rand() vraca iduci u nizu pseudo-random broj.
srand(unsigned seed) postavlja sito (seed) na ono sto mu stavimo u zagradu i vraca prvi pseudo-random broj tog sita
time vraca trenutno sistemsko vrijeme.
Glavna caka je da se uglavnom na pocetku programa (tako da se izvrsi samo jednom) pozove nesto poput
srand((unsigned) time (NULL));
Tako da se promjeni sito ovisno o trenutnom vremenu, kako bi nas program izbacivao "slucajne brojeve". Ukoliko to ne napravimo, program ce izbacivati stalno iste brojeve.
Kasnije se koristi rand() kako se ne bi sito resetiralo.
Najscesca greska je nesto poput:
for (i=0;i<n;i++) {
x=srand((unsigned)time(NULL));
printf("%d\n", x);
}
Koji ce stalno vracati isti broj, buduci da stalno resetiramo sito, a for petlja ce se sigurno izvrsiti unutar jedne desetinke, ako ne i stotinke.
Nadam se da sam pomogao ;).
_________________ 
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 12:16 pet, 5. 5. 2006 Naslov: |
|
|
[quote="ana_math"]moze li mi netko odgovoriti za sta sluze srand, rand i time?[/quote]
Slucajni brojevi ne postoje, jer racunalo sve radi deterministicki. :shock: Zato [tt]rand()[/tt], da bi vratila nesto sto izgleda kao slucajni broj (od 0 do [tt]RAND_MAX[/tt]), treba neku pocetnu vrijednost s kojom radi neka cudesa i rezultat vrati kao "slucajni broj". :)
E, a ta pocetna vrijednost se postavlja funkcijom [tt]srand()[/tt]. :D
Za pocetnu vrijednost je najbolje uzeti nesto sto se stalno mijenja, a to je upravo [tt]time()[/tt] (broj sekundi od 00:00:00 GMT, Jan. 1, 1970 do sadasnjeg trenutka). 8)
Onaj [tt]NULL[/tt] u [tt]time()[/tt] samo tako pisite, da vas sada ne zamaram s time cemu to sluzi. ;)
@ahri: Nije "sito" nego "sjeme" (eng. [i]seed[/i]). ;) Ostatak ti je ok. 8)
ana_math (napisa): | moze li mi netko odgovoriti za sta sluze srand, rand i time? |
Slucajni brojevi ne postoje, jer racunalo sve radi deterministicki. Zato rand(), da bi vratila nesto sto izgleda kao slucajni broj (od 0 do RAND_MAX), treba neku pocetnu vrijednost s kojom radi neka cudesa i rezultat vrati kao "slucajni broj".
E, a ta pocetna vrijednost se postavlja funkcijom srand().
Za pocetnu vrijednost je najbolje uzeti nesto sto se stalno mijenja, a to je upravo time() (broj sekundi od 00:00:00 GMT, Jan. 1, 1970 do sadasnjeg trenutka).
Onaj NULL u time() samo tako pisite, da vas sada ne zamaram s time cemu to sluzi.
@ahri: Nije "sito" nego "sjeme" (eng. seed). Ostatak ti je ok.
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 13:33 pet, 5. 5. 2006 Naslov: |
|
|
[tt]rand()[/tt] daje "slucajni" cijeli broj od 0 do [tt]RAND_MAX[/tt]. 8)
Na DeGiorgiju je [tt]RAND_MAX == INT_MAX[/tt] (sto je 2^31 - 1 == 2147483647), ali to ovisi o racunalu, arhitekturi,... uobicajeno, sto smo rekli kad smo pricali o tipovima, velicinama varijabli, limitima,... 8)
rand() daje "slucajni" cijeli broj od 0 do RAND_MAX.
Na DeGiorgiju je RAND_MAX == INT_MAX (sto je 2^31 - 1 == 2147483647), ali to ovisi o racunalu, arhitekturi,... uobicajeno, sto smo rekli kad smo pricali o tipovima, velicinama varijabli, limitima,...
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
Ongo Forumaš(ica)

Pridružen/a: 13. 02. 2006. (14:37:33) Postovi: (23)16
|
Postano: 21:34 pet, 5. 5. 2006 Naslov: "Pogresno" zadan zadatak |
|
|
[quote="fata"]Neka je varijabla a tipa char. Koristeci samo operatore +, -, &&, ||,?:, = napisite izraz koji varijabli x pridruzuje odgovarajuce veliko slovo ako varijabla a sadrzi malo slovo, odnosno nepromijenjenu vrijednost varijable a ako ona sadrzi nesto drugo.
zanima me kako postaviti uvijet a da ne koristim a>='A' && a<='Z'
tj < >[/quote]
Ima jos jedan nacin, znatno kraci:
[code:1]x=(a/32-2)?(a-32):a;[/code:1]
:)
fata (napisa): | Neka je varijabla a tipa char. Koristeci samo operatore +, -, &&, ||,?:, = napisite izraz koji varijabli x pridruzuje odgovarajuce veliko slovo ako varijabla a sadrzi malo slovo, odnosno nepromijenjenu vrijednost varijable a ako ona sadrzi nesto drugo.
zanima me kako postaviti uvijet a da ne koristim a>='A' && a⇐'Z'
tj < > |
Ima jos jedan nacin, znatno kraci:
Kod: | x=(a/32-2)?(a-32):a; |
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 22:15 pet, 5. 5. 2006 Naslov: Re: "Pogresno" zadan zadatak |
|
|
[quote="Ongo"]Ima jos jedan nacin, znatno kraci:
[code:1]x=(a/32-2)?(a-32):a;[/code:1]
:)[/quote]
Ideja je dobra [ :karma: ], ali realizacija ne. :ccc: Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti. :? Usput, radis i konverziju u krivom smjeru... :|
Evo rjesenja koje ide tokom tvojih misli ([tt]low1()[/tt] je tvoje rjesenje, a [tt]low2()[/tt] je moja modifikacija):
[code:1][vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
char low1(char a) {
return (a / 32 - 2) ? (a - 32) : a;
}
char low2(char a) {
return ((unsigned char)(a - 65) / 26) ? a : (a + 32);
}
main() {
unsigned char c;
for (c = '@'; c <= 'z' + 1; c++)
printf("'%c' (%03d) ---> '%c' | '%c' (%03d) ---> '%c'\n", c, c, low1(c), c, c, low2(c));
}
'@' (064) ---> '@' | '@' (064) ---> '@'
'A' (065) ---> 'A' | 'A' (065) ---> 'a'
'B' (066) ---> 'B' | 'B' (066) ---> 'b'
'C' (067) ---> 'C' | 'C' (067) ---> 'c'
'D' (068) ---> 'D' | 'D' (068) ---> 'd'
'E' (069) ---> 'E' | 'E' (069) ---> 'e'
'F' (070) ---> 'F' | 'F' (070) ---> 'f'
'G' (071) ---> 'G' | 'G' (071) ---> 'g'
'H' (072) ---> 'H' | 'H' (072) ---> 'h'
'I' (073) ---> 'I' | 'I' (073) ---> 'i'
'J' (074) ---> 'J' | 'J' (074) ---> 'j'
'K' (075) ---> 'K' | 'K' (075) ---> 'k'
'L' (076) ---> 'L' | 'L' (076) ---> 'l'
'M' (077) ---> 'M' | 'M' (077) ---> 'm'
'N' (078) ---> 'N' | 'N' (078) ---> 'n'
'O' (079) ---> 'O' | 'O' (079) ---> 'o'
'P' (080) ---> 'P' | 'P' (080) ---> 'p'
'Q' (081) ---> 'Q' | 'Q' (081) ---> 'q'
'R' (082) ---> 'R' | 'R' (082) ---> 'r'
'S' (083) ---> 'S' | 'S' (083) ---> 's'
'T' (084) ---> 'T' | 'T' (084) ---> 't'
'U' (085) ---> 'U' | 'U' (085) ---> 'u'
'V' (086) ---> 'V' | 'V' (086) ---> 'v'
'W' (087) ---> 'W' | 'W' (087) ---> 'w'
'X' (088) ---> 'X' | 'X' (088) ---> 'x'
'Y' (089) ---> 'Y' | 'Y' (089) ---> 'y'
'Z' (090) ---> 'Z' | 'Z' (090) ---> 'z'
'[' (091) ---> '[' | '[' (091) ---> '['
'\' (092) ---> '\' | '\' (092) ---> '\'
']' (093) ---> ']' | ']' (093) ---> ']'
'^' (094) ---> '^' | '^' (094) ---> '^'
'_' (095) ---> '_' | '_' (095) ---> '_'
'`' (096) ---> '@' | '`' (096) ---> '`'
'a' (097) ---> 'A' | 'a' (097) ---> 'a'
'b' (098) ---> 'B' | 'b' (098) ---> 'b'
'c' (099) ---> 'C' | 'c' (099) ---> 'c'
'd' (100) ---> 'D' | 'd' (100) ---> 'd'
'e' (101) ---> 'E' | 'e' (101) ---> 'e'
'f' (102) ---> 'F' | 'f' (102) ---> 'f'
'g' (103) ---> 'G' | 'g' (103) ---> 'g'
'h' (104) ---> 'H' | 'h' (104) ---> 'h'
'i' (105) ---> 'I' | 'i' (105) ---> 'i'
'j' (106) ---> 'J' | 'j' (106) ---> 'j'
'k' (107) ---> 'K' | 'k' (107) ---> 'k'
'l' (108) ---> 'L' | 'l' (108) ---> 'l'
'm' (109) ---> 'M' | 'm' (109) ---> 'm'
'n' (110) ---> 'N' | 'n' (110) ---> 'n'
'o' (111) ---> 'O' | 'o' (111) ---> 'o'
'p' (112) ---> 'P' | 'p' (112) ---> 'p'
'q' (113) ---> 'Q' | 'q' (113) ---> 'q'
'r' (114) ---> 'R' | 'r' (114) ---> 'r'
's' (115) ---> 'S' | 's' (115) ---> 's'
't' (116) ---> 'T' | 't' (116) ---> 't'
'u' (117) ---> 'U' | 'u' (117) ---> 'u'
'v' (118) ---> 'V' | 'v' (118) ---> 'v'
'w' (119) ---> 'W' | 'w' (119) ---> 'w'
'x' (120) ---> 'X' | 'x' (120) ---> 'x'
'y' (121) ---> 'Y' | 'y' (121) ---> 'y'
'z' (122) ---> 'Z' | 'z' (122) ---> 'z'
'{' (123) ---> '[' | '{' (123) ---> '{'[/code:1]
Pokusas li krenuti s ispisom prije [tt]'@'[/tt], ispast ce cudesa u prvom ("tvom") stupcu... :?
U svakom slucaju, svaka cast na ideji! :D
P.S. Onaj kod gore (s 26 uvjeta)... ja sam slozio shell skriptu da mi to izgenerira. O:) Nema sanse da bih to "na ruke" kuckao... :kuckkuck: ;)
Ongo (napisa): | Ima jos jedan nacin, znatno kraci:
Kod: | x=(a/32-2)?(a-32):a; |
 |
Ideja je dobra [ ], ali realizacija ne. Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti. Usput, radis i konverziju u krivom smjeru...
Evo rjesenja koje ide tokom tvojih misli (low1() je tvoje rjesenje, a low2() je moja modifikacija):
Kod: | [vsego@petko tmp]$ cat t.c; gcc t.c && ./a.out
char low1(char a) {
return (a / 32 - 2) ? (a - 32) : a;
}
char low2(char a) {
return ((unsigned char)(a - 65) / 26) ? a : (a + 32);
}
main() {
unsigned char c;
for (c = '@'; c <= 'z' + 1; c++)
printf("'%c' (%03d) ---> '%c' | '%c' (%03d) ---> '%c'\n", c, c, low1(c), c, c, low2(c));
}
'@' (064) ---> '@' | '@' (064) ---> '@'
'A' (065) ---> 'A' | 'A' (065) ---> 'a'
'B' (066) ---> 'B' | 'B' (066) ---> 'b'
'C' (067) ---> 'C' | 'C' (067) ---> 'c'
'D' (068) ---> 'D' | 'D' (068) ---> 'd'
'E' (069) ---> 'E' | 'E' (069) ---> 'e'
'F' (070) ---> 'F' | 'F' (070) ---> 'f'
'G' (071) ---> 'G' | 'G' (071) ---> 'g'
'H' (072) ---> 'H' | 'H' (072) ---> 'h'
'I' (073) ---> 'I' | 'I' (073) ---> 'i'
'J' (074) ---> 'J' | 'J' (074) ---> 'j'
'K' (075) ---> 'K' | 'K' (075) ---> 'k'
'L' (076) ---> 'L' | 'L' (076) ---> 'l'
'M' (077) ---> 'M' | 'M' (077) ---> 'm'
'N' (078) ---> 'N' | 'N' (078) ---> 'n'
'O' (079) ---> 'O' | 'O' (079) ---> 'o'
'P' (080) ---> 'P' | 'P' (080) ---> 'p'
'Q' (081) ---> 'Q' | 'Q' (081) ---> 'q'
'R' (082) ---> 'R' | 'R' (082) ---> 'r'
'S' (083) ---> 'S' | 'S' (083) ---> 's'
'T' (084) ---> 'T' | 'T' (084) ---> 't'
'U' (085) ---> 'U' | 'U' (085) ---> 'u'
'V' (086) ---> 'V' | 'V' (086) ---> 'v'
'W' (087) ---> 'W' | 'W' (087) ---> 'w'
'X' (088) ---> 'X' | 'X' (088) ---> 'x'
'Y' (089) ---> 'Y' | 'Y' (089) ---> 'y'
'Z' (090) ---> 'Z' | 'Z' (090) ---> 'z'
'[' (091) ---> '[' | '[' (091) ---> '['
'\' (092) ---> '\' | '\' (092) ---> '\'
']' (093) ---> ']' | ']' (093) ---> ']'
'^' (094) ---> '^' | '^' (094) ---> '^'
'_' (095) ---> '_' | '_' (095) ---> '_'
'`' (096) ---> '@' | '`' (096) ---> '`'
'a' (097) ---> 'A' | 'a' (097) ---> 'a'
'b' (098) ---> 'B' | 'b' (098) ---> 'b'
'c' (099) ---> 'C' | 'c' (099) ---> 'c'
'd' (100) ---> 'D' | 'd' (100) ---> 'd'
'e' (101) ---> 'E' | 'e' (101) ---> 'e'
'f' (102) ---> 'F' | 'f' (102) ---> 'f'
'g' (103) ---> 'G' | 'g' (103) ---> 'g'
'h' (104) ---> 'H' | 'h' (104) ---> 'h'
'i' (105) ---> 'I' | 'i' (105) ---> 'i'
'j' (106) ---> 'J' | 'j' (106) ---> 'j'
'k' (107) ---> 'K' | 'k' (107) ---> 'k'
'l' (108) ---> 'L' | 'l' (108) ---> 'l'
'm' (109) ---> 'M' | 'm' (109) ---> 'm'
'n' (110) ---> 'N' | 'n' (110) ---> 'n'
'o' (111) ---> 'O' | 'o' (111) ---> 'o'
'p' (112) ---> 'P' | 'p' (112) ---> 'p'
'q' (113) ---> 'Q' | 'q' (113) ---> 'q'
'r' (114) ---> 'R' | 'r' (114) ---> 'r'
's' (115) ---> 'S' | 's' (115) ---> 's'
't' (116) ---> 'T' | 't' (116) ---> 't'
'u' (117) ---> 'U' | 'u' (117) ---> 'u'
'v' (118) ---> 'V' | 'v' (118) ---> 'v'
'w' (119) ---> 'W' | 'w' (119) ---> 'w'
'x' (120) ---> 'X' | 'x' (120) ---> 'x'
'y' (121) ---> 'Y' | 'y' (121) ---> 'y'
'z' (122) ---> 'Z' | 'z' (122) ---> 'z'
'{' (123) ---> '[' | '{' (123) ---> '{' |
Pokusas li krenuti s ispisom prije '@', ispast ce cudesa u prvom ("tvom") stupcu...
U svakom slucaju, svaka cast na ideji!
P.S. Onaj kod gore (s 26 uvjeta)... ja sam slozio shell skriptu da mi to izgenerira. Nema sanse da bih to "na ruke" kuckao...
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
Ongo Forumaš(ica)

Pridružen/a: 13. 02. 2006. (14:37:33) Postovi: (23)16
|
Postano: 1:12 sub, 6. 5. 2006 Naslov: Re: "Pogresno" zadan zadatak |
|
|
[quote="vsego"]
Ideja je dobra [ :karma: ], ali realizacija ne. :ccc: Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti.
[/quote]
Slova abecede ima 26. Sto se uvijeta tice (a meni u obranu :) )...
Krivo sam se izrazio... Rijesenje koje sam podastro je krivo jer se (za pocetak) u zadatku ne dozvoljava koristenje / . Ono na sto sam aludirao je da se sam uvijet moze realizirati bez upotrebe relacijskih operatora ili poprilicno dugog pisanja.
Ideja rijesavanja je aktivnost 6-og bita odgovornog za velicinu slova, a pretpostavka da je ucitani znak slovo.
Opcenito bi trebali provjeravati je li ucitani znak doista slovo, no moja ideja je pokazati da se a>='A' && a<='Z' moze zamijeniti necim bez relacijskih operatora (pod navedenom pretpostavkom).
Moj uvijet je istinit gdje god je 6-ti bit != 0 (osim kad je i 7-mi bit, koji indicira da se radi o slovu, 0), sto je poprilicno cesto.
[quote="vsego"]
:? Usput, radis i konverziju u krivom smjeru... :|
[/quote]
Kako? Mala slova prebaci u velika, velika ostavi na miru.
[quote="vsego"]
Evo rjesenja koje ide tokom tvojih misli ([tt]low1()[/tt] je tvoje rjesenje, a [tt]low2()[/tt] je moja modifikacija):
[/quote]
Mislim da bas i ne ide mojim tokom misli. low2 je vise... matematicko rijesenje, dok je low1 vise informaticko.
Inace, low2.... svaka cast. Takvog neceg bi se nikad sjetio. Varijabla je tocno ukljestena izmedu 65 i 91... To je rijesenje kojeg sam trazio. thx.
Sto se mojeg toka misli tice, ispravno rijesenje bi bilo:
[code:1]
((((unsigned char)a>>5)==3)&&((unsigned char)((a&0x1F)-1)<26))?(a-32):a;
[/code:1]
Now that's just ugly.
[quote="vsego"]
Pokusas li krenuti s ispisom prije [tt]'@'[/tt], ispast ce cudesa u prvom ("tvom") stupcu... :?
[/quote]
Istina.
[quote="vsego"]
U svakom slucaju, svaka cast na ideji! :D
[/quote]
Thx.
vsego (napisa): |
Ideja je dobra [ ], ali realizacija ne. Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti.
|
Slova abecede ima 26. Sto se uvijeta tice (a meni u obranu )...
Krivo sam se izrazio... Rijesenje koje sam podastro je krivo jer se (za pocetak) u zadatku ne dozvoljava koristenje / . Ono na sto sam aludirao je da se sam uvijet moze realizirati bez upotrebe relacijskih operatora ili poprilicno dugog pisanja.
Ideja rijesavanja je aktivnost 6-og bita odgovornog za velicinu slova, a pretpostavka da je ucitani znak slovo.
Opcenito bi trebali provjeravati je li ucitani znak doista slovo, no moja ideja je pokazati da se a>='A' && a⇐'Z' moze zamijeniti necim bez relacijskih operatora (pod navedenom pretpostavkom).
Moj uvijet je istinit gdje god je 6-ti bit != 0 (osim kad je i 7-mi bit, koji indicira da se radi o slovu, 0), sto je poprilicno cesto.
vsego (napisa): |
Usput, radis i konverziju u krivom smjeru...
|
Kako? Mala slova prebaci u velika, velika ostavi na miru.
vsego (napisa): |
Evo rjesenja koje ide tokom tvojih misli (low1() je tvoje rjesenje, a low2() je moja modifikacija):
|
Mislim da bas i ne ide mojim tokom misli. low2 je vise... matematicko rijesenje, dok je low1 vise informaticko.
Inace, low2.... svaka cast. Takvog neceg bi se nikad sjetio. Varijabla je tocno ukljestena izmedu 65 i 91... To je rijesenje kojeg sam trazio. thx.
Sto se mojeg toka misli tice, ispravno rijesenje bi bilo:
Kod: |
((((unsigned char)a>>5)==3)&&((unsigned char)((a&0x1F)-1)<26))?(a-32):a;
|
Now that's just ugly.
vsego (napisa): |
Pokusas li krenuti s ispisom prije '@', ispast ce cudesa u prvom ("tvom") stupcu...
|
Istina.
vsego (napisa): |
U svakom slucaju, svaka cast na ideji!
|
Thx.
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 1:53 sub, 6. 5. 2006 Naslov: Re: "Pogresno" zadan zadatak |
|
|
[quote="Ongo"][quote="vsego"]Ideja je dobra [ :karma: ], ali realizacija ne. :ccc: Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti.[/quote]
Slova abecede ima 26. Sto se uvijeta tice (a meni u obranu :) )...[/quote]
Pomijesalo mi se "nema vise od 26" i "ti radis kao da ima 32". :oops:
[quote="Ongo"]Ideja rijesavanja je aktivnost 6-og bita odgovornog za velicinu slova, a pretpostavka da je ucitani znak slovo.[/quote]
Ah, propustih tu pretpostavku, sorry. :) Samo, nje u zadatku nema... :?
[quote="Ongo"]Opcenito bi trebali provjeravati je li ucitani znak doista slovo, no moja ideja je pokazati da se a>='A' && a<='Z' moze zamijeniti necim bez relacijskih operatora (pod navedenom pretpostavkom).
Moj uvijet je istinit gdje god je 6-ti bit != 0 (osim kad je i 7-mi bit, koji indicira da se radi o slovu, 0), sto je poprilicno cesto.[/quote]
Uz malo precizniji uvjet i raspis pomocu KNF/DNF, mozda bi stvarno i ispalo kompaktno rjesenje! :D
[quote="Ongo"][quote="vsego"] :? Usput, radis i konverziju u krivom smjeru... :|[/quote]
Kako? Mala slova prebaci u velika, velika ostavi na miru.[/quote]
Ne pratim na nastavi. :oops: Zbunilo me ovo:[quote="fata"]zanima me kako postaviti uvijet a da ne koristim [color=red]a>='A' && a<='Z'[/color][/quote]Godine cine svoje... :djed:
[quote="Ongo"]Inace, low2.... svaka cast. Takvog neceg bi se nikad sjetio. Varijabla je tocno ukljestena izmedu 65 i 91... To je rijesenje kojeg sam trazio. thx.[/quote]
Hvala. :) Ovdje je, naravno, ono "[tt](unsigned int)[/tt]" jako vazno, a u prvi mah nezgodno za sjetiti se... ;)
[quote="Ongo"]Sto se mojeg toka misli tice, ispravno rijesenje bi bilo:
[code:1]((((unsigned char)a>>5)==3)&&((unsigned char)((a&0x1F)-1)<26))?(a-32):a;[/code:1]
Now that's just ugly.[/quote]
:shock: Vjerujem da si proucio topic "[url=http://degiorgi.math.hr/forum/viewtopic.php?t=1029]Kako pojednostaviti: "1+1=2"?[/url]". :gg:
Ongo (napisa): | vsego (napisa): | Ideja je dobra [ ], ali realizacija ne. Za pocetak, slova abecede ima vise od 32, pa je tvoj uvjet istinit i tamo gdje ne bi smio biti. |
Slova abecede ima 26. Sto se uvijeta tice (a meni u obranu )... |
Pomijesalo mi se "nema vise od 26" i "ti radis kao da ima 32".
Ongo (napisa): | Ideja rijesavanja je aktivnost 6-og bita odgovornog za velicinu slova, a pretpostavka da je ucitani znak slovo. |
Ah, propustih tu pretpostavku, sorry. Samo, nje u zadatku nema...
Ongo (napisa): | Opcenito bi trebali provjeravati je li ucitani znak doista slovo, no moja ideja je pokazati da se a>='A' && a⇐'Z' moze zamijeniti necim bez relacijskih operatora (pod navedenom pretpostavkom).
Moj uvijet je istinit gdje god je 6-ti bit != 0 (osim kad je i 7-mi bit, koji indicira da se radi o slovu, 0), sto je poprilicno cesto. |
Uz malo precizniji uvjet i raspis pomocu KNF/DNF, mozda bi stvarno i ispalo kompaktno rjesenje!
Ongo (napisa): | vsego (napisa): | Usput, radis i konverziju u krivom smjeru...  |
Kako? Mala slova prebaci u velika, velika ostavi na miru. |
Ne pratim na nastavi. Zbunilo me ovo: fata (napisa): | zanima me kako postaviti uvijet a da ne koristim a>='A' && a⇐'Z' | Godine cine svoje...
Ongo (napisa): | Inace, low2.... svaka cast. Takvog neceg bi se nikad sjetio. Varijabla je tocno ukljestena izmedu 65 i 91... To je rijesenje kojeg sam trazio. thx. |
Hvala. Ovdje je, naravno, ono "(unsigned int)" jako vazno, a u prvi mah nezgodno za sjetiti se...
Ongo (napisa): | Sto se mojeg toka misli tice, ispravno rijesenje bi bilo:
Kod: | ((((unsigned char)a>>5)==3)&&((unsigned char)((a&0x1F)-1)<26))?(a-32):a; |
Now that's just ugly. |
Vjerujem da si proucio topic "Kako pojednostaviti: "1+1=2"?".
_________________ U pravilu ignoriram pitanja u krivim topicima i kodove koji nisu u [code]...[/code] blokovima.
Takodjer, OBJASNITE sto vas muci! "Sto mi je krivo?", bez opisa u cemu je problem, rijetko ce zadobiti moju paznju. 
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
Postano: 14:13 sub, 6. 5. 2006 Naslov: |
|
|
[quote="vsego"]
@ahri: Nije "sito" nego "sjeme" (eng. [i]seed[/i]). ;) Ostatak ti je ok. 8)[/quote]
Znam, ali tako to ferovci zovu. Dretva, sito, racunalo, cis, lateks...
vsego (napisa): |
@ahri: Nije "sito" nego "sjeme" (eng. seed). ;) Ostatak ti je ok. 8) |
Znam, ali tako to ferovci zovu. Dretva, sito, racunalo, cis, lateks...
_________________ 
|
|
[Vrh] |
|
|