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


Pridružen/a: 17. 02. 2004. (12:40:20) Postovi: (2D)16
Spol: 
Lokacija: Zgb
|
Postano: 14:28 sub, 13. 3. 2004 Naslov: Ako može neka dobra duša da ipravi grešku |
|
|
[code:1]#include <stdio.h>
int trazi(char linija[], int n, char *psamoglasnik) {
int i;
char c;
for(i=0; i<n; i++){
c=linija[i];
if(c == 'a' || c == 'e' || c == 'i'
|| c == 'o' || c == 'u')
{
*psamoglasnik=c;
return i;
}
}
return -1;
}[/code:1]
Trebam malu pomoć,ovo je tijelo funkcije prof.Juraka koja trazi u nizu samoglasnik
i ispisuje index niza na kojem se samoglasnik nalazi.
Pošto nije nije u skripti cijeli kod pisao napisao sam ga sam ali mi Compiler(Dev C++ 4) vraca gresku,kod poziva funkcije.
----------->moj kod<--------------
[code:1]#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int trazi(char linija[], int y, char *x);
char niz[]="ivan",samoglasnik;
char*psamoglasnik=&samoglasnik;
int m=(strlen(niz)-1);
int main(void) {
int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska
printf("Index retka je %d a trazeni samoglasnik je %c\n",n,samoglasnik);
system("pause");
}
int trazi(char linija[], int y, char *x) {
int i;
char c;
for(i=0; i<=(strlen(niz)-1); i++){
c=niz[i];
if(c == 'a' || c == 'e' || c == 'i'
|| c == 'o' || c == 'u')
{
*psamoglasnik=c;
return i;
}
}
return -1;
}[/code:1]
[color=darkred][b]Admin(steel) edit:[/b] Bok mandark! :D Nista strasnog, evo samo da napomenem (svima, ne samo tebi) da kôd mozes staviti u [code ][ /code] okruzenje (imas gumbic [i]Code[/i] u editoru u kojem pises poruku), pa ti kôd izgleda preglednije, te oni koji ti ispravljaju mogu lakse naci gresku.
Ja sam sad tvoj kôd stavio u takvo okruzenje (razmake i uvlacenja na pocetku reda nisam dirao, ostala su onakava kakva si ih napisao (zapravo pretpostavljam da si ih [i]paste[/i]ao iz svog originalnog kôda))
Pozdrav![/color]
Kod: | #include <stdio.h>
int trazi(char linija[], int n, char *psamoglasnik) {
int i;
char c;
for(i=0; i<n; i++){
c=linija[i];
if(c == 'a' || c == 'e' || c == 'i'
|| c == 'o' || c == 'u')
{
*psamoglasnik=c;
return i;
}
}
return -1;
} |
Trebam malu pomoć,ovo je tijelo funkcije prof.Juraka koja trazi u nizu samoglasnik
i ispisuje index niza na kojem se samoglasnik nalazi.
Pošto nije nije u skripti cijeli kod pisao napisao sam ga sam ali mi Compiler(Dev C++ 4) vraca gresku,kod poziva funkcije.
----------->moj kod<--------------
Kod: | #include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int trazi(char linija[], int y, char *x);
char niz[]="ivan",samoglasnik;
char*psamoglasnik=&samoglasnik;
int m=(strlen(niz)-1);
int main(void) {
int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska
printf("Index retka je %d a trazeni samoglasnik je %c\n",n,samoglasnik);
system("pause");
}
int trazi(char linija[], int y, char *x) {
int i;
char c;
for(i=0; i<=(strlen(niz)-1); i++){
c=niz[i];
if(c == 'a' || c == 'e' || c == 'i'
|| c == 'o' || c == 'u')
{
*psamoglasnik=c;
return i;
}
}
return -1;
} |
Admin(steel) edit: Bok mandark! Nista strasnog, evo samo da napomenem (svima, ne samo tebi) da kôd mozes staviti u [code ][ /code] okruzenje (imas gumbic Code u editoru u kojem pises poruku), pa ti kôd izgleda preglednije, te oni koji ti ispravljaju mogu lakse naci gresku.
Ja sam sad tvoj kôd stavio u takvo okruzenje (razmake i uvlacenja na pocetku reda nisam dirao, ostala su onakava kakva si ih napisao (zapravo pretpostavljam da si ih pasteao iz svog originalnog kôda))
Pozdrav!
|
|
[Vrh] |
|
ketz Forumaš(ica)


Pridružen/a: 12. 10. 2003. (01:12:03) Postovi: (26)16
Lokacija: a thousand kisses deep
|
Postano: 19:22 sub, 13. 3. 2004 Naslov: |
|
|
[quote] int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska [/quote]
ne mozes deklarirati varijablu u main()-u, to moras napraviti prije glavnog programa tj pretprocesorskom kodu i jedino tamo navodis tip varijable (int, char, double, float).
znaci prije funkcije main() imas liniju [code:1]int n;[/code:1] a u gl. programu [code:1]n=trazi....[/code:1]
Citat: | int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska |
ne mozes deklarirati varijablu u main()-u, to moras napraviti prije glavnog programa tj pretprocesorskom kodu i jedino tamo navodis tip varijable (int, char, double, float).
znaci prije funkcije main() imas liniju a u gl. programu
|
|
[Vrh] |
|
ahri Forumaš(ica)


Pridružen/a: 19. 11. 2003. (23:16:07) Postovi: (193)16
|
|
[Vrh] |
|
steelworker Site Admin


Pridružen/a: 25. 04. 2003. (11:21:04) Postovi: (698)16
Lokacija: 4-dimensional space-time continuum. Or some 11-dimensional continuum? Dunna, it's all relative.
|
Postano: 2:49 ned, 14. 3. 2004 Naslov: Re: Ako može neka dobra duša da ipravi grešku |
|
|
Dakle,
[code:1]
int trazi(char linija[], int y, char *x);
...
int main(void) {
...
int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska
...
}
[/code:1]
U definici/deklaraciji funkcije [i]trazi[/i] navodis da joj je treci parametar [i]char*[/i] , a onda joj kada ju pozivas (kod stvaranja [i]int n[/i]) kao treci parametar dajes [i]*(char *)[/i] sto je [i]char[/i]. Kuzis, s [i]*psamoglasnik[/i] dajes joj ono na sto pokazuje taj doticni psamoglasnik koji je [i]char*[/i] , a on pokazuje na nesto tipa [i]char[/i]. Ja sam (u M$ VS 6.0) samo maknuo zvijezdicu iz tog poziva funkcije i lijepo (uz dva [i]warning[/i]a) sljaka (radi).
Dakle:
[code:1]
int main(void) {
...
int n = trazi(niz, m, psamoglasnik);
...
}
[/code:1]
BTW, kad vec navedes da [i]main[/i] vraca [i]int[/i] onda bi mogao i negdje(ovisno o tome sto radis) u [i]main[/i]-u i napraviti da se taj [i]int[/i] i vrati (recimo [i]return 0;[/i] na kraju [i]main[/i]-a).
Dakle,
Kod: |
int trazi(char linija[], int y, char *x);
...
int main(void) {
...
int n=trazi(niz,m,*psamoglasnik) ; //ovdje je greska
...
}
|
U definici/deklaraciji funkcije trazi navodis da joj je treci parametar char* , a onda joj kada ju pozivas (kod stvaranja int n) kao treci parametar dajes *(char *) sto je char. Kuzis, s *psamoglasnik dajes joj ono na sto pokazuje taj doticni psamoglasnik koji je char* , a on pokazuje na nesto tipa char. Ja sam (u M$ VS 6.0) samo maknuo zvijezdicu iz tog poziva funkcije i lijepo (uz dva warninga) sljaka (radi).
Dakle:
Kod: |
int main(void) {
...
int n = trazi(niz, m, psamoglasnik);
...
}
|
BTW, kad vec navedes da main vraca int onda bi mogao i negdje(ovisno o tome sto radis) u main-u i napraviti da se taj int i vrati (recimo return 0; na kraju main-a).
_________________ I live like this 'cause I like it
And I've seen too much to pretend
You can't ignore the beauty in the things that you love
Like you can't stand the hatred and the lies
|
|
[Vrh] |
|
Manny Callavera Forumaš(ica)


Pridružen/a: 17. 02. 2004. (12:40:20) Postovi: (2D)16
Spol: 
Lokacija: Zgb
|
|
[Vrh] |
|
|