C Programming razmak (space) u string-u

C Programming razmak (space) u string-u

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.
offline
  • Software developer
  • 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



offline
  • 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; }

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"?

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Jedi.Clone ::Zavaljujem.

Nadam se da se salis? Evil or Very Mad

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.

Ko je trenutno na forumu
 

Ukupno su 828 korisnika na forumu :: 40 registrovanih, 10 sakrivenih i 778 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 8u47, A.R.Chafee.Jr., Bane san, Boris90, Denaya, Dimitrise93, Djokkinen, Dorcolac, Dragan1998, gomago, GORDI, HrcAk47, ikan, Karla, kljift, Kubovac, Ledenica, Leonov, ljubacv, maiden6657, Maschinekalibar, mercedesamg, Mercury, nenad81, nenooo, nikoladim, novator, Ognjen D., pein, RJ, Rogonos, SR-3m, srbijaiznadsvega, Srle993, stegonosa, strelac07, Tvrtko I, VJ, vladulns, zixmix