Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
miki2007 Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1949&c=3)
Pridružen/a: 24. 01. 2007. (23:25:26) Postovi: (3)16
|
|
[Vrh] |
|
vsego Site Admin
![Site Admin Site Admin](dyck.php?id=2&c=13664&t=2)
![](images/avatars/3765282244f0c353486cd5.jpg)
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol: ![zombi zombi](images/gender/zombie.png)
Lokacija: /sbin/init
|
Postano: 0:01 čet, 25. 1. 2007 Naslov: |
|
|
Teško. :sigh:
Osnova je stablo u kojem svaki cvor preko pointera pamti tko su mu lijevo i desno dijete, a pozeljno je da pamti i roditelja (dakle, veze idu u oba smijera). :)
Zatim ti trebaju pomocne funkcije:
- za trazenje dubine stabla ([tt]while()[/tt]-petlja koja trazi najljevije dijete i broji koliko je to duboko)
- za dodavanje cvora iza zadnjeg (modificirani preorder koji koristi funkciju za dubinu)
- za trazenje zadnjeg cvora (invertirani preorder (obilazi desno dijete, lijevo dijete, pa tek onda sam cvor) koji koristi funkciju za dubinu)
Nakon toga, lako slozis [tt]insert()[/tt] i [tt]delete_min()[/tt]. :D
Danas sam to nekome objasnjavao... podosta naporno za sloziti, ali nadam se da ti ovi hintovi koriste. :)
Teško.
Osnova je stablo u kojem svaki cvor preko pointera pamti tko su mu lijevo i desno dijete, a pozeljno je da pamti i roditelja (dakle, veze idu u oba smijera).
Zatim ti trebaju pomocne funkcije:
- za trazenje dubine stabla (while()-petlja koja trazi najljevije dijete i broji koliko je to duboko)
- za dodavanje cvora iza zadnjeg (modificirani preorder koji koristi funkciju za dubinu)
- za trazenje zadnjeg cvora (invertirani preorder (obilazi desno dijete, lijevo dijete, pa tek onda sam cvor) koji koristi funkciju za dubinu)
Nakon toga, lako slozis insert() i delete_min().
Danas sam to nekome objasnjavao... podosta naporno za sloziti, ali nadam se da ti ovi hintovi koriste.
_________________ 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. ![Drzim prodike](images/smiles/gj_teach.gif)
|
|
[Vrh] |
|
marijap Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1499&c=521)
![](images/avatars/96370745746700ca0a6ac0.jpg)
Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: ![žensko žensko](images/gender/female.gif)
Lokacija: zg
|
Postano: 20:53 čet, 25. 1. 2007 Naslov: |
|
|
Da ne otvaram topic...pitanje iz SPA:
kako bi se u C-u moglo izvesti da se učitava niz naredbi u obliku
npr. ulazni podaci:
fja1 string1
fja2 string2
fja1 string3
fja3 string4
a ispisuju se rezultati dobiveni redom iz poziva funkcija
npr. izlazni podaci
string1: rezultat_fje1
string2: rezultat_fje2
...
moram li nekako izvesti da mi imena potprograma budu u jednom nizu, a podaci (string1,string2,string3) u drugom nizu?
Kako uopće učitati 2 stringa u jednom redu ako znamo da će pri utipkavanju biti odvojeni razmakom?
Ima li neki efikasan način za izvesti prvo popis naredbi, a tek potom rezultate tih funkcija po redu upisa?
Hvala na svakoj pomoći, ja ću dotad probati sa stringovima...
Da ne otvaram topic...pitanje iz SPA:
kako bi se u C-u moglo izvesti da se učitava niz naredbi u obliku
npr. ulazni podaci:
fja1 string1
fja2 string2
fja1 string3
fja3 string4
a ispisuju se rezultati dobiveni redom iz poziva funkcija
npr. izlazni podaci
string1: rezultat_fje1
string2: rezultat_fje2
...
moram li nekako izvesti da mi imena potprograma budu u jednom nizu, a podaci (string1,string2,string3) u drugom nizu?
Kako uopće učitati 2 stringa u jednom redu ako znamo da će pri utipkavanju biti odvojeni razmakom?
Ima li neki efikasan način za izvesti prvo popis naredbi, a tek potom rezultate tih funkcija po redu upisa?
Hvala na svakoj pomoći, ja ću dotad probati sa stringovima...
|
|
[Vrh] |
|
m00nblade Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1052&c=84)
Pridružen/a: 30. 10. 2005. (13:26:10) Postovi: (54)16
Spol: ![muško muško](images/gender/male.gif)
|
Postano: 21:07 čet, 25. 1. 2007 Naslov: |
|
|
Mislim da ti je najlakse ucitavati naredbe iz datoteke
Stavis jednu while petlju u kojoj ucitavas stringove u parovima, npr:
[code:1]FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") fja1 (...);
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
[/code:1]
Mislim da ti je najlakse ucitavati naredbe iz datoteke
Stavis jednu while petlju u kojoj ucitavas stringove u parovima, npr:
Kod: | FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") fja1 (...);
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
|
|
|
[Vrh] |
|
marijap Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1499&c=521)
![](images/avatars/96370745746700ca0a6ac0.jpg)
Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: ![žensko žensko](images/gender/female.gif)
Lokacija: zg
|
Postano: 21:26 čet, 25. 1. 2007 Naslov: |
|
|
Hvala, probat ću tak. Još nešto:
FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") [b]fja1 (...)[/b]; [i]-mogu li tu dodati neki svoj blok naredbi vezano s pozivom f-je1
i analogno za ove ispod koliko ih bude?[/i]
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
Hvala, probat ću tak. Još nešto:
FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") fja1 (...); -mogu li tu dodati neki svoj blok naredbi vezano s pozivom f-je1
i analogno za ove ispod koliko ih bude?
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
|
|
[Vrh] |
|
m00nblade Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1052&c=84)
Pridružen/a: 30. 10. 2005. (13:26:10) Postovi: (54)16
Spol: ![muško muško](images/gender/male.gif)
|
|
[Vrh] |
|
ahri Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=277&c=403)
![](images/avatars/398044089414f576adb89f.jpg)
Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
alen Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1023&c=545)
![](images/avatars/19223858054579ef414559a.gif)
Pridružen/a: 14. 10. 2005. (23:25:58) Postovi: (221)16
|
Postano: 17:06 pet, 26. 1. 2007 Naslov: |
|
|
Imam problem, dolje u praktikumu 1 (mislim da je taj broj) nemogu kompajlirat program jer ne postoji conio header, a treba mi za getch. I sad, vjerojatno ću zamjenit getch sa scanf, al kak da to napravim da mi ne učita i enter u sljedećem učitavanju char-a?
[code:1]
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <math.h>
#include <string.h>
#include <conio.h>
...
void UNOS(node i ,TREE T){
char a;
printf("Unesite oznaku prvog djeteta cvora s oznakom %c, * ako nema djeteta:\n", LABEL(i,T));
a=getch();
if(a=='*') i->first_child=LAMBDA;
else {INSERT_CHILD(a,i,&T);
UNOS(FIRST_CHILD(i,T),T);
}
printf("Unesite oznaku iduceg brata cvora s oznakom %c, * ako nema iduceg brata:\n", LABEL(i,T));
a=getch();
if(a=='*') i->next_sib=LAMBDA;
else {INSERT_SIBLING(a,i,&T);
UNOS(NEXT_SIBLING(i,T),T);
}
}[/code:1]
Imam problem, dolje u praktikumu 1 (mislim da je taj broj) nemogu kompajlirat program jer ne postoji conio header, a treba mi za getch. I sad, vjerojatno ću zamjenit getch sa scanf, al kak da to napravim da mi ne učita i enter u sljedećem učitavanju char-a?
Kod: |
#include <stdio.h>
#include <stdlib.h>
#include <malloc.h>
#include <math.h>
#include <string.h>
#include <conio.h>
...
void UNOS(node i ,TREE T){
char a;
printf("Unesite oznaku prvog djeteta cvora s oznakom %c, * ako nema djeteta:\n", LABEL(i,T));
a=getch();
if(a=='*') i->first_child=LAMBDA;
else {INSERT_CHILD(a,i,&T);
UNOS(FIRST_CHILD(i,T),T);
}
printf("Unesite oznaku iduceg brata cvora s oznakom %c, * ako nema iduceg brata:\n", LABEL(i,T));
a=getch();
if(a=='*') i->next_sib=LAMBDA;
else {INSERT_SIBLING(a,i,&T);
UNOS(NEXT_SIBLING(i,T),T);
}
} |
_________________ Između ostalog, mislim da bi kolegij mjera i integral trebao imati svoj podforum među kolegijima treće godine
|
|
[Vrh] |
|
m00nblade Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1052&c=84)
Pridružen/a: 30. 10. 2005. (13:26:10) Postovi: (54)16
Spol: ![muško muško](images/gender/male.gif)
|
|
[Vrh] |
|
alen Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1023&c=545)
![](images/avatars/19223858054579ef414559a.gif)
Pridružen/a: 14. 10. 2005. (23:25:58) Postovi: (221)16
|
|
[Vrh] |
|
Marvin Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1874&c=86)
![](images/avatars/24567179447c98e25ec39e.jpg)
Pridružen/a: 01. 12. 2006. (15:46:10) Postovi: (56)16
|
|
[Vrh] |
|
Zvone Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=187&c=157)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
|
[Vrh] |
|
marijap Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1499&c=521)
![](images/avatars/96370745746700ca0a6ac0.jpg)
Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: ![žensko žensko](images/gender/female.gif)
Lokacija: zg
|
|
[Vrh] |
|
pecina Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=643&c=343)
![](images/avatars/3860084614da587a5032c4.jpg)
Pridružen/a: 19. 01. 2005. (14:15:23) Postovi: (157)16
Spol: ![kućni ljubimac kućni ljubimac](images/gender/pet.gif)
Lokacija: Happily traveling through space since 1986!
|
|
[Vrh] |
|
vsego Site Admin
![Site Admin Site Admin](dyck.php?id=2&c=13664&t=2)
![](images/avatars/3765282244f0c353486cd5.jpg)
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol: ![zombi zombi](images/gender/zombie.png)
Lokacija: /sbin/init
|
|
[Vrh] |
|
marijap Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1499&c=521)
![](images/avatars/96370745746700ca0a6ac0.jpg)
Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: ![žensko žensko](images/gender/female.gif)
Lokacija: zg
|
|
[Vrh] |
|
marijap Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=1499&c=521)
![](images/avatars/96370745746700ca0a6ac0.jpg)
Pridružen/a: 21. 06. 2006. (19:04:40) Postovi: (209)16
Spol: ![žensko žensko](images/gender/female.gif)
Lokacija: zg
|
Postano: 23:27 sub, 27. 1. 2007 Naslov: |
|
|
[quote="m00nblade"]Mislim da ti je najlakse ucitavati naredbe iz datoteke
Stavis jednu while petlju u kojoj ucitavas stringove u parovima, npr:
[code:1]FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") fja1 (...);
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
[/code:1][/quote]
Kako mogu ispisati ovaj uneseni [color=red]string[/color]?
Možda sa fprintf(fp,string)?
A ako ga koristim u pozivu npr. fje2, mogu li to sa fja2(string) ili ga moram pročitati posebno?
m00nblade (napisa): | Mislim da ti je najlakse ucitavati naredbe iz datoteke
Stavis jednu while petlju u kojoj ucitavas stringove u parovima, npr:
Kod: | FILE *fp;
char fja[128], string[128];
fp = fopen ("neka_datoteka.txt", "r");
while (fscanf (fp, " %s %s", fja, string) == 2) {
if (!strcmp (fja, "fja1") fja1 (...);
else if (!strcmp (fja, "fja2") fja2 (...);
else if (!strcmp (fja, "fja3") fja3 (...);
else
printf ("Nepoznata naredba");
}
|
|
Kako mogu ispisati ovaj uneseni string?
Možda sa fprintf(fp,string)?
A ako ga koristim u pozivu npr. fje2, mogu li to sa fja2(string) ili ga moram pročitati posebno?
|
|
[Vrh] |
|
ahri Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=277&c=403)
![](images/avatars/398044089414f576adb89f.jpg)
Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
vsego Site Admin
![Site Admin Site Admin](dyck.php?id=2&c=13664&t=2)
![](images/avatars/3765282244f0c353486cd5.jpg)
Pridružen/a: 06. 10. 2002. (22:07:09) Postovi: (3560)16
Spol: ![zombi zombi](images/gender/zombie.png)
Lokacija: /sbin/init
|
Postano: 4:10 ned, 28. 1. 2007 Naslov: |
|
|
[quote="ahri"][quote="marijap"]Kako mogu ispisati ovaj uneseni [color=red]string[/color]?
Možda sa fprintf(fp,string)?[/quote]
Mozes:)[/quote]
Strogo precizno: Moze, ali pod uvjetom da u stringu nema formata, jer bi ga to zbunilo. ;)
[code:1][vsego@petko tmp]$ cat t.c
#include <stdio.h>
main(){
char s[] = "%d\n";
printf(s);
}
[vsego@petko tmp]$ gcc t.c && ./a.out
-1073842484[/code:1]
Kvaka je, naravno, u tome sto se prvi parametar [tt]printf()[/tt]-a interpretira prema poznati pravilima, umjesto da se samo ispishe. 8) Slicno se ponasaju i [tt]fprintf()[/tt] i ostale takve funkcije. :)
ahri (napisa): | marijap (napisa): | Kako mogu ispisati ovaj uneseni string?
Možda sa fprintf(fp,string)? |
Mozes:) |
Strogo precizno: Moze, ali pod uvjetom da u stringu nema formata, jer bi ga to zbunilo.
Kod: | [vsego@petko tmp]$ cat t.c
#include <stdio.h>
main(){
char s[] = "%d\n";
printf(s);
}
[vsego@petko tmp]$ gcc t.c && ./a.out
-1073842484 |
Kvaka je, naravno, u tome sto se prvi parametar printf()-a interpretira prema poznati pravilima, umjesto da se samo ispishe. Slicno se ponasaju i fprintf() i ostale takve funkcije.
_________________ 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. ![Drzim prodike](images/smiles/gj_teach.gif)
|
|
[Vrh] |
|
mdoko Forumaš(ica)
![Forumaš(ica) Forumaš(ica)](dyck.php?id=53&c=1818)
![](images/avatars/56368967941013ad28eb54.jpg)
Pridružen/a: 30. 11. 2002. (22:17:12) Postovi: (71A)16
Spol: ![muško muško](images/gender/male.gif)
Lokacija: Heriot-Watt University, Edinburgh
|
Postano: 13:49 ned, 28. 1. 2007 Naslov: |
|
|
[quote="vsego"][quote="ahri"][quote="marijap"]Kako mogu ispisati ovaj uneseni [color=red]string[/color]?
Možda sa fprintf(fp,string)?[/quote]
Mozes:)[/quote]
Strogo precizno: Moze, ali pod uvjetom da u stringu nema formata, jer bi ga to zbunilo. ;)[/quote]
Problem se rijesi sa:[code:1]fprintf(fp, "%s", string);[/code:1] :cool:
vsego (napisa): | ahri (napisa): | marijap (napisa): | Kako mogu ispisati ovaj uneseni string?
Možda sa fprintf(fp,string)? |
Mozes:) |
Strogo precizno: Moze, ali pod uvjetom da u stringu nema formata, jer bi ga to zbunilo. ![Wink](images/smiles/icon_wink.gif) |
Problem se rijesi sa: Kod: | fprintf(fp, "%s", string); |
_________________ Extraordinary claims require extraordinary evidence. – Carl Sagan
|
|
[Vrh] |
|
|