Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
ceps Forumaš(ica)
Pridružen/a: 08. 10. 2010. (13:03:07) Postovi: (13A)16
|
Postano: 16:06 pon, 29. 10. 2012 Naslov: |
|
|
[quote="linus"]zanima me
1) smijem li napisati neke pomocne funkcije koje ne ovise o implementaciji (npr. mogu li napisati pomoćnu funkciju isnum(a) koja radi isto sto i isalpha, samo za brojeve)?
2) vezano za gornje, mogu li napisati funkciju koja vraca prioritet operatora (u slucaju citanja pre/postfix izraza)?
3) kako se desava 'predaja' programa, tj. dal donesemo te programe na usb-u, isprintate ili ih pisemo pred asistentom u praktikumu?
Hvala unaprijed[/quote]
1) Prošle godine se smjelo. A i nema nekog pametnog razloga zašto se ne bi smjelo, bar ga ja ne vidim.
3) Dođeš u praktikum, doneseš program na USBu, pokreneš ga pred asistentom. On malo pogleda kod, pita te par pitanja, zašto si nešto napravio ovako, a ne onako... eventualno da promjeniš neku sitnicu u kodu da radi malo drukčije, da vidi da razumiješ vlastiti (valjda :) ) kod.
linus (napisa): | zanima me
1) smijem li napisati neke pomocne funkcije koje ne ovise o implementaciji (npr. mogu li napisati pomoćnu funkciju isnum(a) koja radi isto sto i isalpha, samo za brojeve)?
2) vezano za gornje, mogu li napisati funkciju koja vraca prioritet operatora (u slucaju citanja pre/postfix izraza)?
3) kako se desava 'predaja' programa, tj. dal donesemo te programe na usb-u, isprintate ili ih pisemo pred asistentom u praktikumu?
Hvala unaprijed |
1) Prošle godine se smjelo. A i nema nekog pametnog razloga zašto se ne bi smjelo, bar ga ja ne vidim.
3) Dođeš u praktikum, doneseš program na USBu, pokreneš ga pred asistentom. On malo pogleda kod, pita te par pitanja, zašto si nešto napravio ovako, a ne onako... eventualno da promjeniš neku sitnicu u kodu da radi malo drukčije, da vidi da razumiješ vlastiti (valjda ) kod.
|
|
[Vrh] |
|
linus Forumaš(ica)
Pridružen/a: 20. 11. 2011. (16:59:13) Postovi: (46)16
Lokacija: subnet mask
|
|
[Vrh] |
|
sasha.f Forumaš(ica)
Pridružen/a: 25. 10. 2011. (20:04:19) Postovi: (3D)16
|
|
[Vrh] |
|
pllook Forumaš(ica)
Pridružen/a: 08. 11. 2013. (20:56:12) Postovi: (CD)16
Spol:
|
|
[Vrh] |
|
pubava Forumaš(ica)
Pridružen/a: 08. 10. 2014. (13:47:07) Postovi: (A)16
|
Postano: 21:52 uto, 10. 11. 2015 Naslov: |
|
|
Može li mi itko pomoći?
Trebam učitati niz stringova koji opisuje binarno stablo zadano u PREORDER obilasku
proširenom oznakama praznih čvorova (NULL). Ne znam što sam zeznula, ali čini se kao da nikad ne prestane učitavati. Probala sam sve i svašta, mučim se već tri sata. Ako itko vidi grešku, bila bih vječito zahvalna :D
[code:1]
void preorder2tree_1(BinaryTree* T)
{
char s[5]; char c;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(strcmp(s, "NULL")==0) return;
else {
if(c=='\n') BiCreate(s[0], TL, TR, T);
else
{
preorder2tree_1(&TL);
preorder2tree_1(&TR);
BiCreate(s[0], TL, TR, T);
}
}
}
probala sam i ovo, gdje gledam jesam li ucitala zadnji string:
int sagradi1(BinaryTree *T)
{
char s[5]; char c; int zadnji=0, a=0;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(c=='\n') zadnji=1;
if(strcmp(s, "NULL")==0) return 0;
if(zadnji==1)
{
BiCreate(s[0], TL, TR, T);
return 1;
}
else {
a=sagradi1(&TL);
if(a==1)
{BiCreate(s[0], TL, TR, T);
return 1;}
a=sagradi1(&TR);
if(a==1)
{
{BiCreate(s[0], TL, TR, T);
return 1;}
}
BiCreate(s[0], TL, TR, T);
}
return 0;
}
[/code:1]
Može li mi itko pomoći?
Trebam učitati niz stringova koji opisuje binarno stablo zadano u PREORDER obilasku
proširenom oznakama praznih čvorova (NULL). Ne znam što sam zeznula, ali čini se kao da nikad ne prestane učitavati. Probala sam sve i svašta, mučim se već tri sata. Ako itko vidi grešku, bila bih vječito zahvalna
Kod: |
void preorder2tree_1(BinaryTree* T)
{
char s[5]; char c;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(strcmp(s, "NULL")==0) return;
else {
if(c=='\n') BiCreate(s[0], TL, TR, T);
else
{
preorder2tree_1(&TL);
preorder2tree_1(&TR);
BiCreate(s[0], TL, TR, T);
}
}
}
probala sam i ovo, gdje gledam jesam li ucitala zadnji string:
int sagradi1(BinaryTree *T)
{
char s[5]; char c; int zadnji=0, a=0;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(c=='\n') zadnji=1;
if(strcmp(s, "NULL")==0) return 0;
if(zadnji==1)
{
BiCreate(s[0], TL, TR, T);
return 1;
}
else {
a=sagradi1(&TL);
if(a==1)
{BiCreate(s[0], TL, TR, T);
return 1;}
a=sagradi1(&TR);
if(a==1)
{
{BiCreate(s[0], TL, TR, T);
return 1;}
}
BiCreate(s[0], TL, TR, T);
}
return 0;
}
|
|
|
[Vrh] |
|
meow.. Forumaš(ica)
Pridružen/a: 11. 11. 2015. (07:30:50) Postovi: (1)16
|
|
[Vrh] |
|
pubava Forumaš(ica)
Pridružen/a: 08. 10. 2014. (13:47:07) Postovi: (A)16
|
Postano: 8:55 sri, 11. 11. 2015 Naslov: |
|
|
labeltype sam definirala kao char, ali NULL ne spremam u oznake. Kao da mi to i samo napravi kad postavi prazno podstablo za dijete. Ovo je konacna verzija koja cak i radi :D Ako vidi tko gdje propust neki, samo recite jer bi voljela ovo predat u petak.
[code:1]
int sagradi1(BinaryTree *T)
{
char s[5]; char c; int zadnji=0, a=0;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(c=='\n') zadnji=1;
if(strcmp(s, "NULL")==0 && zadnji) return 1;
if(strcmp(s, "NULL")==0) return 0;
if(zadnji==1)
{
BiCreate(s[0], TL, TR, T);
return 1;
}
else {
a=sagradi1(&TL);
BiCreate(s[0], TL, TR, T);
if(a==1) return 1;
a=sagradi1(&TR);
BiCreate(s[0], TL, TR, T);
if(a==1) return 1;
}
return 0;
}
[/code:1]
labeltype sam definirala kao char, ali NULL ne spremam u oznake. Kao da mi to i samo napravi kad postavi prazno podstablo za dijete. Ovo je konacna verzija koja cak i radi Ako vidi tko gdje propust neki, samo recite jer bi voljela ovo predat u petak.
Kod: |
int sagradi1(BinaryTree *T)
{
char s[5]; char c; int zadnji=0, a=0;
BinaryTree TL, TR;
BiMakeNull(&TL); BiMakeNull(&TR);
scanf("%s", s);
scanf("%c", &c);
if(c=='\n') zadnji=1;
if(strcmp(s, "NULL")==0 && zadnji) return 1;
if(strcmp(s, "NULL")==0) return 0;
if(zadnji==1)
{
BiCreate(s[0], TL, TR, T);
return 1;
}
else {
a=sagradi1(&TL);
BiCreate(s[0], TL, TR, T);
if(a==1) return 1;
a=sagradi1(&TR);
BiCreate(s[0], TL, TR, T);
if(a==1) return 1;
}
return 0;
}
|
|
|
[Vrh] |
|
|