Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
|
[Vrh] |
|
Blah Forumaš(ica)
Pridružen/a: 11. 09. 2006. (18:07:56) Postovi: (C1)16
Spol:
|
|
[Vrh] |
|
ivanzub Forumaš(ica)
Pridružen/a: 08. 02. 2006. (11:16:46) Postovi: (CC)16
|
Postano: 22:34 sub, 8. 9. 2007 Naslov: |
|
|
moze, pliz, mala pomoc oko 2 pitanja?
1.kad je u zadatku zadano da se izbaci svaki npr. 4. element liste..da li to znaci da treba izbaciti 1., 5., 9., ... ili 4., 8., 12., .... ?
2.sto tocno znaci leksikografski usporedit stringove tj. kako f-je strcmp i strcasecmp usporeduju stringove?
znam da vrijedi onaj uvjet, koji pise u vjezbama, ali kako f-ja dode do toga?
jel ovako radi strcmp?
[code:1]
int strcmp (char *s, char *s1){
int i, suma1=0, suma2=0;
for (i=0; s[i]!='\0'; i++){
suma1+=s[i];
}
for (i=0; s1[i]!='\0'; i++){
suma2+=s1[i];
}
if(suma1==suma2)return 0;
if(suma1 < suma2)return -1;
if(suma1 > suma2)return 1;
}
[/code:1]
hvala...
moze, pliz, mala pomoc oko 2 pitanja?
1.kad je u zadatku zadano da se izbaci svaki npr. 4. element liste..da li to znaci da treba izbaciti 1., 5., 9., ... ili 4., 8., 12., .... ?
2.sto tocno znaci leksikografski usporedit stringove tj. kako f-je strcmp i strcasecmp usporeduju stringove?
znam da vrijedi onaj uvjet, koji pise u vjezbama, ali kako f-ja dode do toga?
jel ovako radi strcmp?
Kod: |
int strcmp (char *s, char *s1){
int i, suma1=0, suma2=0;
for (i=0; s[i]!='\0'; i++){
suma1+=s[i];
}
for (i=0; s1[i]!='\0'; i++){
suma2+=s1[i];
}
if(suma1==suma2)return 0;
if(suma1 < suma2)return -1;
if(suma1 > suma2)return 1;
}
|
hvala...
|
|
[Vrh] |
|
Gandalf Forumaš(ica)
Pridružen/a: 28. 08. 2007. (22:14:30) Postovi: (16)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 7:35 ned, 9. 9. 2007 Naslov: |
|
|
[quote="ivanzub"]1.kad je u zadatku zadano da se izbaci svaki npr. 4. element liste..da li to znaci da treba izbaciti 1., 5., 9., ... ili 4., 8., 12., .... ?[/quote]
Obicno je u zadatku naglaseno. :) Ako na kolokviju bude zadatak za koji niste sigurni sto se tocno trazi (npr. ovakvo brisanje u kojem ne pise na sto se tocno misli), pitajte dezurnog asistenta. 8)
String-funkcije su, ako se ne varam, obradjene na predavanjima. :)
ivanzub (napisa): | 1.kad je u zadatku zadano da se izbaci svaki npr. 4. element liste..da li to znaci da treba izbaciti 1., 5., 9., ... ili 4., 8., 12., .... ? |
Obicno je u zadatku naglaseno. Ako na kolokviju bude zadatak za koji niste sigurni sto se tocno trazi (npr. ovakvo brisanje u kojem ne pise na sto se tocno misli), pitajte dezurnog asistenta.
String-funkcije su, ako se ne varam, obradjene na predavanjima.
_________________ 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] |
|
Blah Forumaš(ica)
Pridružen/a: 11. 09. 2006. (18:07:56) Postovi: (C1)16
Spol:
|
|
[Vrh] |
|
Blah Forumaš(ica)
Pridružen/a: 11. 09. 2006. (18:07:56) Postovi: (C1)16
Spol:
|
Postano: 10:09 ned, 9. 9. 2007 Naslov: |
|
|
I ovo mi radi ali sigurno postoji kraća verzija...svaki komentar dobrodošao!
I ovo mi radi ali sigurno postoji kraća verzija...svaki komentar dobrodošao!
Description: |
|
Download |
Filename: |
kolokvij5a.c |
Filesize: |
2.21 KB |
Downloaded: |
157 Time(s) |
|
|
[Vrh] |
|
ivanzub Forumaš(ica)
Pridružen/a: 08. 02. 2006. (11:16:46) Postovi: (CC)16
|
|
[Vrh] |
|
vsego Site Admin
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol:
Lokacija: /sbin/init
|
Postano: 14:31 ned, 9. 9. 2007 Naslov: |
|
|
[quote="ivanzub"]ma kuzim, al me zanima dal je ovaj moj kod dobar?[/quote]
Nije. :? Usporedi s tim stringove [tt]"zaa"[/tt] i [tt]"azz"[/tt]. :? Jednostavno, kad dodjes do [tt]'z' > 'a'[/tt], oni ostataci ([tt]"aa"[/tt] i [tt]"zz"[/tt]) te se vise ne ticu, a tvoja funkcija bezuvjetno gleda sve znakove stringova. :?
Jos gore, ispast ce ti da je [tt]"aa"[/tt] (=97+97) "veci" od [tt]"b"[/tt] (=98[i][/i]). :shock:
ivanzub (napisa): | ma kuzim, al me zanima dal je ovaj moj kod dobar? |
Nije. Usporedi s tim stringove "zaa" i "azz". Jednostavno, kad dodjes do 'z' > 'a', oni ostataci ("aa" i "zz") te se vise ne ticu, a tvoja funkcija bezuvjetno gleda sve znakove stringova.
Jos gore, ispast ce ti da je "aa" (=97+97) "veci" od "b" (=98).
_________________ 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] |
|
ivanzub Forumaš(ica)
Pridružen/a: 08. 02. 2006. (11:16:46) Postovi: (CC)16
|
|
[Vrh] |
|
ivanzub Forumaš(ica)
Pridružen/a: 08. 02. 2006. (11:16:46) Postovi: (CC)16
|
|
[Vrh] |
|
Luuka Forumaš(ica)
Pridružen/a: 13. 02. 2007. (20:34:54) Postovi: (925)16
Spol:
Lokacija: Hakuna Matata
|
|
[Vrh] |
|
Lord R Forumaš(ica)
Pridružen/a: 15. 11. 2005. (01:03:34) Postovi: (5D)16
Spol:
|
Postano: 0:34 pon, 10. 9. 2007 Naslov: |
|
|
Evo ja sam se malo pozabavio sa par zadataka iz prošlogodišnjih kolokvja. Nadam se da nije prekasno :).
Mislim da sam sve testirao i da su bili ok, al' opet...
1. Napišite funkciju s prototipom:
int grep(char *s, char c);
koja vraća broj redaka u datoteci s koji sadrže bar jedno pojavljivanje znaka c. Ako datoteku nije moguće otvoriti za čitanje, funkcija treba vratiti -1.
2. 1. Napišite program koji učitava prirodni broj n, i niz od n cijelih brojeva. Neka je
sk definiran kao suma k-tog elementa niza od početka i k-tog elementa niza od
kraja. Program treba ispisati sve takve s k i to za svaki par točno jednom.
Nemojte uvoditi ograničenja na veličinu prirodnog broja n. Ako je n neparan,
srednji element niza se zbraja sa samim sobom.
Primjer: Ako je učitan niz 1, 6, 3, 7, 2, 8, program treba ispisati 9, 8, 10.
/Taj ne mogu naći, ali ako netko ima izrazitu želju, napišem ga ponovo :).
2. 2. Napiˇsite program koji uˇcitava prirodni broj n i zatim polje f od n cijelih brojeva iz skupa {0, 1, . . . , n−1}. To polje
moˇzemo shvatiti kao funkciju f : {0, 1, . . . , n − 1} ! {0, 1, . . . , n − 1} koja indexu i pridruˇzuje vrijednost f[i].
Ispitajte je li funkcija zadana uˇcitanim poljem injekcija, surjekcija, bijekcija, te ispiˇsite odgovaraju´ce poruke. Na
primjer, ako je n = 5, te f={3,2,0,2,4}, onda f nije injekcija jer je f[1]=f[3], a nije ni surjekcija jer ne postoji
i takav da je f[i]=1. Nemojte uvoditi nikakve pretpostavke na veliˇcinu broja n.
4. 3. Napiˇsite funkciju koja prima string s. U stringu se izmedu ostalog nalazi i nekoliko prirodnih brojeva. Funkcija
treba stvoriti i vratiti novi string u kojem ´ce biti izdvojeni i sa po toˇcno jednim razmakom odvojeni brojevi
koji se javljaju u s. Na primjer, ako je ulazni string bio: "a=54; b=412+7x", onda funkcija treba vratiti string
"54 412 7". Nemojte modificirati ulazni string s; za string koji vra´cate alocirajte toˇcno onoliko memorije koliko
je minimalno potrebno. Ako ne znate rijeˇsiti ovako postavljen zadatak, napiˇsite funkciju koja ne odvaja brojeve
razmakom u povratnom stringu (za gornji primjer takva funkcija bi vratila "544127").
5. (Fora zadatak :D ). Napredna civilizacija Bi´coidi ima sofisticirano pismo koje se sastoji od dva znaka: ! i #. Poznato je
da se znak ! prevodi na latiniˇcno pismo sa A, a niz znakova !# sa U (sam znak # se ne moˇze prevesti).
Napiˇsite funkciju sa prototipom
char *prijevod (char *rijec);
koja prima string rijec na Bio´coidnom jeziku, te vra´ca prijevod na latiniˇcno pismo. rijec ne smije
biti promijenjena, a za novi string je potrebno alocirati toˇcno onoliko memorije koliko je potrebno.
Ako rijeˇc ne znamo prevesti, funkcija treba vratiti string ne znam.
Primjer: ”!!!#!#!!#” se prevodi kao ”AAUUAU”.
6. (i ovaj je zakon :D) U datoteci ski.txt nalaze se rezultati dvije voˇznje slaloma. U prvom retku te datoteke nalazi se
prirodni broj n, broj skijaˇsa koji su se utrkivali. U idu´cih n redaka je opis prve voˇznje - u svakom
od redaka prvo dolazi ime skijaˇsa (niz od max. 20 slova) te zatim njegovo vrijeme u prvoj voˇznji
u obliku ss xx, ss su sekunde, xx stotinke. U narednih n redaka je na isti naˇcin opisana druga
voˇznja. Skijaˇsi ne moraju biti navedeni istim redoslijedom u obje voˇznje. Napiˇsite program koji
na temelju ovih podataka ispisuje na ekran ime skijaˇsa koji je pobijedio, tj. ima najmanje ukupno
vrijeme. Potrebno je ispisati i njegovo ukupno vrijeme u obliku m:ss:xx, m su minute. Primjer:
ski.txt
2 janica
ivica 39 29
janica 18 80
janica 56 23
ivica 49 18
ekran:
janica 1:15:03
*Riješio sam tako da piše u file skijanje.out rezultat, umjesto na ekran.
Riješio sam i onu ludu samodestruktuvnu listu, ali nju nisam još testirao pa ćemo je preskočiti :D:D.
Naknadno sam dodao i 4 zad i zadnjeg kolokvija koji uduplava brojeve te onaj sa Mirkom i placom, riješen bez korištenja struktura.
Neki zadaci daju možda i više nego što se traži od njih, al' to je čisto da se malo izvježbam. :P
Evo ja sam se malo pozabavio sa par zadataka iz prošlogodišnjih kolokvja. Nadam se da nije prekasno .
Mislim da sam sve testirao i da su bili ok, al' opet...
1. Napišite funkciju s prototipom:
int grep(char *s, char c);
koja vraća broj redaka u datoteci s koji sadrže bar jedno pojavljivanje znaka c. Ako datoteku nije moguće otvoriti za čitanje, funkcija treba vratiti -1.
2. 1. Napišite program koji učitava prirodni broj n, i niz od n cijelih brojeva. Neka je
sk definiran kao suma k-tog elementa niza od početka i k-tog elementa niza od
kraja. Program treba ispisati sve takve s k i to za svaki par točno jednom.
Nemojte uvoditi ograničenja na veličinu prirodnog broja n. Ako je n neparan,
srednji element niza se zbraja sa samim sobom.
Primjer: Ako je učitan niz 1, 6, 3, 7, 2, 8, program treba ispisati 9, 8, 10.
/Taj ne mogu naći, ali ako netko ima izrazitu želju, napišem ga ponovo .
2. 2. Napiˇsite program koji uˇcitava prirodni broj n i zatim polje f od n cijelih brojeva iz skupa {0, 1, . . . , n−1}. To polje
moˇzemo shvatiti kao funkciju f : {0, 1, . . . , n − 1} ! {0, 1, . . . , n − 1} koja indexu i pridruˇzuje vrijednost f[i].
Ispitajte je li funkcija zadana uˇcitanim poljem injekcija, surjekcija, bijekcija, te ispiˇsite odgovaraju´ce poruke. Na
primjer, ako je n = 5, te f={3,2,0,2,4}, onda f nije injekcija jer je f[1]=f[3], a nije ni surjekcija jer ne postoji
i takav da je f[i]=1. Nemojte uvoditi nikakve pretpostavke na veliˇcinu broja n.
4. 3. Napiˇsite funkciju koja prima string s. U stringu se izmedu ostalog nalazi i nekoliko prirodnih brojeva. Funkcija
treba stvoriti i vratiti novi string u kojem ´ce biti izdvojeni i sa po toˇcno jednim razmakom odvojeni brojevi
koji se javljaju u s. Na primjer, ako je ulazni string bio: "a=54; b=412+7x", onda funkcija treba vratiti string
"54 412 7". Nemojte modificirati ulazni string s; za string koji vra´cate alocirajte toˇcno onoliko memorije koliko
je minimalno potrebno. Ako ne znate rijeˇsiti ovako postavljen zadatak, napiˇsite funkciju koja ne odvaja brojeve
razmakom u povratnom stringu (za gornji primjer takva funkcija bi vratila "544127").
5. (Fora zadatak ). Napredna civilizacija Bi´coidi ima sofisticirano pismo koje se sastoji od dva znaka: ! i #. Poznato je
da se znak ! prevodi na latiniˇcno pismo sa A, a niz znakova !# sa U (sam znak # se ne moˇze prevesti).
Napiˇsite funkciju sa prototipom
char *prijevod (char *rijec);
koja prima string rijec na Bio´coidnom jeziku, te vra´ca prijevod na latiniˇcno pismo. rijec ne smije
biti promijenjena, a za novi string je potrebno alocirati toˇcno onoliko memorije koliko je potrebno.
Ako rijeˇc ne znamo prevesti, funkcija treba vratiti string ne znam.
Primjer: ”!!!#!#!!#” se prevodi kao ”AAUUAU”.
6. (i ovaj je zakon ) U datoteci ski.txt nalaze se rezultati dvije voˇznje slaloma. U prvom retku te datoteke nalazi se
prirodni broj n, broj skijaˇsa koji su se utrkivali. U idu´cih n redaka je opis prve voˇznje - u svakom
od redaka prvo dolazi ime skijaˇsa (niz od max. 20 slova) te zatim njegovo vrijeme u prvoj voˇznji
u obliku ss xx, ss su sekunde, xx stotinke. U narednih n redaka je na isti naˇcin opisana druga
voˇznja. Skijaˇsi ne moraju biti navedeni istim redoslijedom u obje voˇznje. Napiˇsite program koji
na temelju ovih podataka ispisuje na ekran ime skijaˇsa koji je pobijedio, tj. ima najmanje ukupno
vrijeme. Potrebno je ispisati i njegovo ukupno vrijeme u obliku m:ss:xx, m su minute. Primjer:
ski.txt
2 janica
ivica 39 29
janica 18 80
janica 56 23
ivica 49 18
ekran:
janica 1:15:03
*Riješio sam tako da piše u file skijanje.out rezultat, umjesto na ekran.
Riješio sam i onu ludu samodestruktuvnu listu, ali nju nisam još testirao pa ćemo je preskočiti .
Naknadno sam dodao i 4 zad i zadnjeg kolokvija koji uduplava brojeve te onaj sa Mirkom i placom, riješen bez korištenja struktura.
Neki zadaci daju možda i više nego što se traži od njih, al' to je čisto da se malo izvježbam.
_________________ "Žalim prošlost, nadam se budućnosti, nezadovoljan sa sadošnošću - to je moj život."
-Pjotr Iljič Čajkovski
Description: |
|
Download |
Filename: |
string-bicovi.c |
Filesize: |
905 Bytes |
Downloaded: |
124 Time(s) |
Description: |
|
Download |
Filename: |
kol a grupa 4 zad.c |
Filesize: |
972 Bytes |
Downloaded: |
120 Time(s) |
Description: |
|
Download |
Filename: |
zad3p_num_sa_razmakom.c |
Filesize: |
1.26 KB |
Downloaded: |
141 Time(s) |
Description: |
|
Download |
Filename: |
janica i ivica.c |
Filesize: |
2.17 KB |
Downloaded: |
130 Time(s) |
Description: |
|
Download |
Filename: |
grep.c |
Filesize: |
485 Bytes |
Downloaded: |
109 Time(s) |
|
|
[Vrh] |
|
|