| 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] | 
		 | 
	
	
		 |