Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
king_oberon Forumaš(ica)

Pridružen/a: 10. 12. 2008. (17:02:03) Postovi: (22)16
|
|
[Vrh] |
|
mini Forumaš(ica)

Pridružen/a: 04. 02. 2009. (14:31:34) Postovi: (69)16
Spol: 
|
|
[Vrh] |
|
Gino Forumaš(ica)

Pridružen/a: 11. 09. 2008. (10:54:06) Postovi: (370)16
Lokacija: Pula
|
|
[Vrh] |
|
mini Forumaš(ica)

Pridružen/a: 04. 02. 2009. (14:31:34) Postovi: (69)16
Spol: 
|
Postano: 12:47 ned, 13. 6. 2010 Naslov: |
|
|
[quote="Gino"]
sto se provjere tice, zar nije dovoljno pokrenut program i vidit sta se zbiva?[/quote]
dovoljno je u slučaju kad ti laptop radi normalno. ovaj moj ima nekih problema, a sad ga nemam kad vodit na popravak, tako da ga skoro pa i ne palim, a sve materijale imam iskopirane. da, vježbam na papirima, nažalost. :(
Gino (napisa): |
sto se provjere tice, zar nije dovoljno pokrenut program i vidit sta se zbiva? |
dovoljno je u slučaju kad ti laptop radi normalno. ovaj moj ima nekih problema, a sad ga nemam kad vodit na popravak, tako da ga skoro pa i ne palim, a sve materijale imam iskopirane. da, vježbam na papirima, nažalost.
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 15:01 ned, 13. 6. 2010 Naslov: |
|
|
[quote="mini"]da, vježbam na papirima, nažalost. :([/quote]
U tome nema uspjeha. :? Odi na fax, zavuci se u neki praktikum i radi na racunalu. Mozes i u nekoj knjiznici, pa SSH na studenta, ali to je zeznuto ako mreza zapinje.
mini (napisa): | da, vježbam na papirima, nažalost.  |
U tome nema uspjeha. Odi na fax, zavuci se u neki praktikum i radi na racunalu. Mozes i u nekoj knjiznici, pa SSH na studenta, ali to je zeznuto ako mreza zapinje.
_________________ 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] |
|
mini Forumaš(ica)

Pridružen/a: 04. 02. 2009. (14:31:34) Postovi: (69)16
Spol: 
|
Postano: 15:12 uto, 15. 6. 2010 Naslov: |
|
|
ma zanima me par stvari vezano za popravni 07/08. evo link http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-0708-p.pdf
Daklem:
3. zadatak: sve mi je jasno, osim onoga dijela kako nać mjesto u križaljci za upisanu riječ i onda ju tu i upisati. zbrnjavila sam se sa tri for petlje i ne znam šta da radim. ako bi mi mogao netko samo taj dio koda napisati, spasio bi me.
5. zadatak, pod a: ubaciti studenta tamo gdje mu je mjesto.
[code:1]
student *ubaci (char ime_prezime[], int bodovi, student *s) {
student *t, *novi = NULL;
novi = (student*)malloc(sizeof(student));
if (novi == NULL) {
printf ("alokacija nije uspjela");
exit (-1);
}
novi->ime_prezime = ime_prezime;
novi->bodovi = bodovi;
if (s == NULL) {
novi->next = s;
s = novi;
}
t = s;
while (t != NULL && t->bodovi < novi->bodovi)
t = t->next;
if (t->next) {
novi->next = t->next;
t->next=novi;
}
return s;
}
[/code:1]
jel vrijedi ovo išta? ako se nekom da samo proletit po kodu, pa da mi kaže greške.
hvala
ma zanima me par stvari vezano za popravni 07/08. evo link http://degiorgi.math.hr/prog2/kolokviji/p2-kolokvij-0708-p.pdf
Daklem:
3. zadatak: sve mi je jasno, osim onoga dijela kako nać mjesto u križaljci za upisanu riječ i onda ju tu i upisati. zbrnjavila sam se sa tri for petlje i ne znam šta da radim. ako bi mi mogao netko samo taj dio koda napisati, spasio bi me.
5. zadatak, pod a: ubaciti studenta tamo gdje mu je mjesto.
Kod: |
student *ubaci (char ime_prezime[], int bodovi, student *s) {
student *t, *novi = NULL;
novi = (student*)malloc(sizeof(student));
if (novi == NULL) {
printf ("alokacija nije uspjela");
exit (-1);
}
novi->ime_prezime = ime_prezime;
novi->bodovi = bodovi;
if (s == NULL) {
novi->next = s;
s = novi;
}
t = s;
while (t != NULL && t->bodovi < novi->bodovi)
t = t->next;
if (t->next) {
novi->next = t->next;
t->next=novi;
}
return s;
}
|
jel vrijedi ovo išta? ako se nekom da samo proletit po kodu, pa da mi kaže greške.
hvala
|
|
[Vrh] |
|
vsego Site Admin


Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3562)16
Spol: 
Lokacija: /sbin/init
|
Postano: 0:30 sri, 16. 6. 2010 Naslov: |
|
|
[quote="mini"]3. zadatak: sve mi je jasno, osim onoga dijela kako nać mjesto u križaljci za upisanu riječ i onda ju tu i upisati. zbrnjavila sam se sa tri for petlje i ne znam šta da radim. ako bi mi mogao netko samo taj dio koda napisati, spasio bi me.[/quote]
Trazis gdje ima dovoljno tocaka. Recimo da si ucitala matricu [tt]mat[/tt] reda [tt]M[/tt]x[tt]N[/tt]. Tada:
[code:1]for (i = 0; i < N; ++i)
for (j = 1; j < M - strlen(s); ++j) {
/* provjerimo da su okolo crna polja */
ok = (mat[i][j-1] == '*' && mat[i][j+strlen(s)] == '*');
if (!ok) continue;
/* provjerimo da su izmedju samo tockice */
for (k = 0; s[k] != '\0'; ++k)
/* ili, losije, ali radi istu stvar: for (k = 0; k < strlen(s); ++k) */
if (s[k] != '.') { ok = 0; break; }
if (ok) break;
}
if (ok) break;
}[/code:1]
Kad si s tim gotova, [tt]ok[/tt] bi trebalo imati vrijednost 1, a [tt]i[/tt] i [tt]j[/tt] bi trebali biti mjesto gdje rijec pocinje.
[quote="mini"]5. zadatak, pod a: ubaciti studenta tamo gdje mu je mjesto.
[code:1]student *ubaci (char ime_prezime[], int bodovi, student *s) {
student *t, *novi = NULL;
novi = (student*)malloc(sizeof(student));
if (novi == NULL) {
printf ("alokacija nije uspjela");
exit (-1);
}
novi->ime_prezime = ime_prezime;
novi->bodovi = bodovi;
if (s == NULL) {
novi->next = s;
s = novi;
}
t = s;
while (t != NULL && t->bodovi < novi->bodovi)
t = t->next;
if (t->next) {
novi->next = t->next;
t->next=novi;
}
return s;
}[/code:1]
jel vrijedi ovo išta?[/quote]
Slabo. Vidi:
[code:1]if (s == NULL) {
novi->next = s;
s = novi;
}[/code:1]
To znaci "ako je lista prazna, novi element dodaj na pocetak". A onda, neovisno o tome, trazis gdje ces dodati element.
Zatim trazis prvi element koji [b]nije[/b] manji od broja i dodajes iza njega. Dakle, ako imas brojeve 1, 3 i 5 i ti zelis dodati 2, dodat ces ga iza 3 (iza prvog koji nije manji od 2).
Treba otprilike ovako (kao i gornji kod, pisem napamet, bez provjere tocnosti, a dan je bio dug i lako mogu fulati, pa oprezno skodom):
[code:1]/* ako je lista prazna ili joj je prvi element veci ili jednak novom, dodajemo na pocetak */
if (s == NULL || s->broj >= novi->broj) {
novi->next = s;
s = novi;
continue; /* pretpostavljam da sam u nekoj petlji koja dodaje elemente; ako nije petlja, nego funkcija, onda return s; */
}
/* Ovdje znam da lista ima barem jedan element i prvi je manji od novog.
Gledam sljedbenika i dodajem ispred njega. */
t = s;
while (t->next && t->next->broj < novi->broj) t = t->next;
/* Sada je sigurno t->broj < novi->broj i (t->next == NULL ili t->next->broj >= novi->broj).
Dakle, dodajemo iza t, a ispred t->next. */
novi->next = t->next;
t->next = novi;[/code:1]
Za kraj:
[tt]novi->ime_prezime = ime_prezime;[/tt]
Pretpostavljam da je [tt]ime_prezime[/tt] neki string. U tom slucaju mora ici:
[tt]strcpy(novi->ime_prezime, ime_prezime);[/tt]
Da si ovo probavala na racunalu, i sama bi vidjela da ne radi, a brze je i korisnije nego cekati ovdje da ti netko odgovori.
mini (napisa): | 3. zadatak: sve mi je jasno, osim onoga dijela kako nać mjesto u križaljci za upisanu riječ i onda ju tu i upisati. zbrnjavila sam se sa tri for petlje i ne znam šta da radim. ako bi mi mogao netko samo taj dio koda napisati, spasio bi me. |
Trazis gdje ima dovoljno tocaka. Recimo da si ucitala matricu mat reda MxN. Tada:
Kod: | for (i = 0; i < N; ++i)
for (j = 1; j < M - strlen(s); ++j) {
/* provjerimo da su okolo crna polja */
ok = (mat[i][j-1] == '*' && mat[i][j+strlen(s)] == '*');
if (!ok) continue;
/* provjerimo da su izmedju samo tockice */
for (k = 0; s[k] != '\0'; ++k)
/* ili, losije, ali radi istu stvar: for (k = 0; k < strlen(s); ++k) */
if (s[k] != '.') { ok = 0; break; }
if (ok) break;
}
if (ok) break;
} |
Kad si s tim gotova, ok bi trebalo imati vrijednost 1, a i i j bi trebali biti mjesto gdje rijec pocinje.
mini (napisa): | 5. zadatak, pod a: ubaciti studenta tamo gdje mu je mjesto.
Kod: | student *ubaci (char ime_prezime[], int bodovi, student *s) {
student *t, *novi = NULL;
novi = (student*)malloc(sizeof(student));
if (novi == NULL) {
printf ("alokacija nije uspjela");
exit (-1);
}
novi->ime_prezime = ime_prezime;
novi->bodovi = bodovi;
if (s == NULL) {
novi->next = s;
s = novi;
}
t = s;
while (t != NULL && t->bodovi < novi->bodovi)
t = t->next;
if (t->next) {
novi->next = t->next;
t->next=novi;
}
return s;
} |
jel vrijedi ovo išta? |
Slabo. Vidi:
Kod: | if (s == NULL) {
novi->next = s;
s = novi;
} |
To znaci "ako je lista prazna, novi element dodaj na pocetak". A onda, neovisno o tome, trazis gdje ces dodati element.
Zatim trazis prvi element koji nije manji od broja i dodajes iza njega. Dakle, ako imas brojeve 1, 3 i 5 i ti zelis dodati 2, dodat ces ga iza 3 (iza prvog koji nije manji od 2).
Treba otprilike ovako (kao i gornji kod, pisem napamet, bez provjere tocnosti, a dan je bio dug i lako mogu fulati, pa oprezno skodom):
Kod: | /* ako je lista prazna ili joj je prvi element veci ili jednak novom, dodajemo na pocetak */
if (s == NULL || s->broj >= novi->broj) {
novi->next = s;
s = novi;
continue; /* pretpostavljam da sam u nekoj petlji koja dodaje elemente; ako nije petlja, nego funkcija, onda return s; */
}
/* Ovdje znam da lista ima barem jedan element i prvi je manji od novog.
Gledam sljedbenika i dodajem ispred njega. */
t = s;
while (t->next && t->next->broj < novi->broj) t = t->next;
/* Sada je sigurno t->broj < novi->broj i (t->next == NULL ili t->next->broj >= novi->broj).
Dakle, dodajemo iza t, a ispred t->next. */
novi->next = t->next;
t->next = novi; |
Za kraj:
novi→ime_prezime = ime_prezime;
Pretpostavljam da je ime_prezime neki string. U tom slucaju mora ici:
strcpy(novi→ime_prezime, ime_prezime);
Da si ovo probavala na racunalu, i sama bi vidjela da ne radi, a brze je i korisnije nego cekati ovdje da ti netko odgovori.
_________________ 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] |
|
misakm Forumaš(ica)

Pridružen/a: 15. 01. 2010. (16:51:43) Postovi: (B)16
|
|
[Vrh] |
|
jkrstic Forumaš(ica)


Pridružen/a: 01. 10. 2009. (19:28:31) Postovi: (AC)16
Spol: 
Lokacija: Somewhere in time
|
|
[Vrh] |
|
pinkgirl Forumaš(ica)


Pridružen/a: 30. 11. 2006. (21:08:16) Postovi: (1AE)16
Spol: 
Lokacija: K-K-Z
|
|
[Vrh] |
|
kikyca Forumaš(ica)

Pridružen/a: 13. 10. 2009. (18:45:07) Postovi: (32)16
Spol: 
|
|
[Vrh] |
|
šišmiš Forumaš(ica)

Pridružen/a: 19. 04. 2010. (21:01:19) Postovi: (29)16
|
|
[Vrh] |
|
kikyca Forumaš(ica)

Pridružen/a: 13. 10. 2009. (18:45:07) Postovi: (32)16
Spol: 
|
|
[Vrh] |
|
tierra Forumaš(ica)


Pridružen/a: 07. 11. 2007. (12:46:15) Postovi: (4D)16
Spol: 
Lokacija: zg
|
|
[Vrh] |
|
|