Poslao: 29 Jan 2012 18:53
|
offline
- Pridružio: 19 Jun 2009
- Poruke: 70
|
Imam jedno pitanje... Da li postoji laksi nacin da se dobije pokazivac na prvo prazno mesto u string-u. Na primer, ako imam string "REC1 REC2", trebam da dobijem pokazivac na znak izmedju te dve reci. I jos jedan mali zahtev. Ako bi bio neko bio ljubazan da mi napise funkciju koja sa for (ili while) ciklusom prolazi kroz svaki znak stringa, i proverava, npr, da li je taj znak slovo "a". Nisam siguran kako da izdvojim znak, tj, kako da sa strcmp ispitam samo jedan znak. Molim vas da mi ne kazete kako je protiv pravila foruma da se daju gotova resenja, ali meni je prilicno hitno. Hvala.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 29 Jan 2012 19:00
|
offline
- N1k0l4
- Prijatelj foruma
- Pridružio: 06 Sep 2005
- Poruke: 3800
- Gde živiš: Beograd
|
Jedi.Clone ::Da li postoji laksi nacin da se dobije pokazivac na prvo prazno mesto u string-u.
laksi od kog nacina?
Jedan nacin ti je da krenes redom po stringu, od nula do njegove duzine (funkcija strlen) dok ne naidjes na prazninu. Koristices for petlju, od 0 do strlen(string)
Slicno i za ovo 'a'. Imas neki integer na primer
int pojavio=0
i on ti stoji na 0 - znaci da se nije pojavio, na 1 - znaci da jeste.
Kad prolazis kroz string petljom, isto od nula do strlen(string) ako je trenutni clan string[i] =='a' promenis promenljivu pojavio na 1. Mozes tu i da ubacis break da ne ide dalje ako ti je bitno samo da znas dal se pojavio ili ne, a ne koliko pota. Na kraju proveris da li je pojavio == 0 i u odnosu na to stampas da li jeste ili nije
|
|
|
|
Poslao: 29 Jan 2012 19:08
|
offline
- morando
- Građanin
- Pridružio: 19 Maj 2011
- Poruke: 297
|
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* find_first(char* beg, char* end, char ch)
{
if(beg < end)
{
for( ;beg != end; ++beg)
{
if(*beg == ch)
{
return beg;
}
}
}
return end;
}
int main(int argc, char *argv)
{
char text[] = "Petar Petrovic";
char* begin = &text[0];
char* end = &text[ strlen(text) ];
begin = find_first(begin, end, ' ');
if(begin != end)
{
printf("%s\n", begin); // ispisuje " Petrovic"
++begin;
printf("%s\n", begin); // ispisuje "Petrovic"
}
getchar();
return 0;
}
|
|
|
|
Poslao: 29 Jan 2012 19:27
|
offline
- Pridružio: 19 Jun 2009
- Poruke: 70
|
Zavaljujem. Imam samo jos jedno pitanje. Kako da "odsecem" prva 4 znaka stringa. Npr, string je "qwerty", a da dobijem samo "ty"?
|
|
|
|
Poslao: 29 Jan 2012 19:42
|
offline
- morando
- Građanin
- Pridružio: 19 Maj 2011
- Poruke: 297
|
Jedi.Clone ::Zavaljujem.
Nadam se da se salis?
Procitaj malo text sto je kolega N1k0l4 napisao, prouci kod koji sam ti postavio i probaj da razumes sta se dogadja! Verujem da imas sasvim dovoljno informcija da uradis sam, samo treba vezbe.
|
|
|
|