Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kod za nalazenje stringa u stringu

[es] :: C/C++ programiranje :: kod za nalazenje stringa u stringu

[ Pregleda: 3192 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon kod za nalazenje stringa u stringu01.08.2005. u 18:10 - pre 227 meseci
napravio sam jedan kod koji bi trebao nakon sto unesemo string "a" i string "b" da pogleda ima li stringa "b" u stringu "a"...
znaci ne interesuje me ni koliko puta ima string "b" u "a", ni na kojoj lokaciji, nego prosto : IMA LI GA samo...
npr. rijec "roda" postoji u "priroda i drustvo"....

naravno, cim sam vam se javio-jasno vam je da ne radi...
nakon sto unesem string "a" i string "b", kad kliknem "enter" kursor predje dolje i program ama bas nista ne redi...

volio bih ako biste mi mogli pomoci da vidim sta ovdje ne valja...
da bi se lakse snasli-opisacu vam sta program radi, korak po korak...
u main() se unese "a" i "b", i zovemo f-ju
"provjeri" koja provjerava prvo da li je "a" prazan string, pa onda da li je neko a jednako sa pocetnim slovom od "b" (b[0])
ako jeste, ona zove f-ju "provjeri1" koja provjerava da li su sva slova u "a" pocev od one lokacije koja je nadjena da se podudara sa pocetnim slovom od "b" jednaka sa ostalim u "b".Tu sam koristio indikator IND, koji ce biti nula ako se neko slovo od "a" u duzini strlen(b) ne podudara sa korespodentnim slovom u "b", i tada iskace while petlja i vraca se nula...
normalno ako f-ja "provjeri" i "provjeri1" ne nadju ni jedno slovo jednako, samo nastavljaju provjeravati slova do kraja "a"...

evo koda:

Code:
#include <stdio.h>
#include<string.h>
#include<stdlib.h>
int provjeri1(char *a,char *b,int i)     /*vraca IND=1 ako se ispostavi da je svako    slovo iz "a"  za duzinu od "b" jednako sa odgovarajucim slovima iz "b" */
{
    int j=1,k=0,IND=1;
    while (j<=strlen(b) && IND==1)
    {
        if (a[i]==b[k])
        {
            i=i+1;
            k=k+1;
        }
        else if (a[i]!=b[k])
        {
            IND=0;
        }
        j=j+1;
    }
    return IND;
}
int provjeri(char *a,char *b)    //vraca 1 ako ima podstring "b" u "a", a 0 ako nema
{
int i=0;
if (a[0]=='\0')
return 0;
while (a[i]!='\0')
{
    if(a[i]==b[0])            //gledamo dali je a[i] jednako sa b[0] duzinu "b"
    {
     if(provjeri1(a,b,i)==1)       /* pogledaj ostala slova iz "a" za duznu "b", "i" je lokacija pocetnog slova*/
     {
         return 1;
         break;
     }
     i=i+1;
    }
}
return 0;
}

void main()
{
         char a[30],b[30];       
         printf("unesite glavni string: ");
    gets(a);
         printf("unesite trazeni string: ");
    gets(b);
    if (provjeri(a,b)==1)
    {
        printf("glavni string sadrzi trazeni string");
    }
    else
    {
        printf("glavni string ne sadrzi trazeni string!!");
    }
}


unaprijed hvala...
a da... usput...ima li ovakva ista ( potpuno isti zadatak da ima) f-ja vec u c++-u, tj. Borlandu?? zna li ko??
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

Burgos
Nemanja Borić
Amazon Web Services
Berlin

Član broj: 12484
Poruke: 1947
*.smin.sezampro.yu.

Sajt: stackoverflow.com/users/1..


+480 Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 18:17 - pre 227 meseci
C++ verzija:

Code:

unsigned FindInStr(const std::string& src, const std::string& trm)
{
    unsigned numOccurrences = 0;
    size_t loc = 0;
    while (loc < src.size() &&
          (loc = src.find(trm, loc)) != std::string::npos)
    {
        ++numOccurrences;
        ++loc;
    }
    return numOccurrences;
}
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 18:22 - pre 227 meseci
jos koji odgovor....???
jos neko????

pomoc oko moga koda????
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

NastyBoy
Bojan Nastic
UK

Član broj: 12041
Poruke: 895
*.plus.com.



+4 Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 18:57 - pre 227 meseci
Ako vec radish sa c-stringovima, onda probaj char * strstr(const char *s1, const char *s2); iz string.h koja bash to radi.
 
Odgovor na temu

Goran Arandjelovic
Beograd

Član broj: 29116
Poruke: 387
213.244.203.*



+9 Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 19:43 - pre 227 meseci
prethodni odgovor je dobar...mada nije lose ni strtok :)

[Ovu poruku je menjao Goran Arandjelovic dana 01.08.2005. u 20:43 GMT+1]
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 19:46 - pre 227 meseci
--- NAČIN 1 ---

// Borland C++ Builder 6
// ...
#include <StrUtils.Hpp>
// ...

bool __fastcall AnsiContainsText(const AnsiString AText, const AnsiString ASubText);

Citat:

Description

AnsiContainsText returns true if the string specified by ASubText appears as a substring of the string specified by AText. Comparison is performed case-insensitively and based on the current Windows locale.


--- NAČIN 2 ---
Citat:

Returns the index at which a specified substring begins.

int __fastcall Pos(const AnsiString& subStr) const;

Description

Pos returns the index in the AnsiString at which the substring subStr begins, where 1 is the index of the first character, 2 is the index of the second character, and so on. If the substring is not contained in the AnsiString, Pos returns 0.


Dakle, ako funkcija vrati 0, onda nema pojavljivanja...

 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 20:15 - pre 227 meseci
 Sorry, ovo sada je proba...

... za NEWS server
--
Best regards,
Vladimir Stefanovic [quote]


[Ovu poruku je menjao X Files dana 01.08.2005. u 21:17 GMT+1]
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: kod za nalazenje stringa u stringu01.08.2005. u 23:44 - pre 227 meseci
Code:

#include <stdio.h>
#include<string.h>
#include<stdlib.h>

int provjeri1(char *a, char *b, int i)
{
  int j;
  int k;
  int IND=1;
  
  j = 1;
  k = 0;
  IND = 1;
  
  while (j <= strlen(b) && IND == 1)
    {
      if (a[i]==b[k])
        {
      i++;
      k++;
        }
      else if (a[i] != b[k])
        {
      IND = 0;
        }
      
      j++;
    }
  return(IND);
}

int provjeri(char *a, char *b)
{
  int i;
  
  i = 0;

  if (a[0] == '\0')
    return(0);
  
  while (a[i] != '\0')
    {
      if(a[i] == b[0])
    {
      if(provjeri1(a, b, i) == 1) 
        {
          return(1);
          //break;  Ova komadna se nikada ne izvrsava jer je posle jednog return-a
        }
           //i = i + 1; greska
    }
      i++; 
      // ovde je bila greska, i ti je bio u if-u, 
      // i naravno, ako a[0] != b[0], i nikada nije
      // bio uvecevan, i eto lepog primera while
      // petlje koja se nikada ne zavrsava :) rumpl
    }
  return 0;
}

int  main(int argc, char **argv)
{
  char a[30],b[30];       

  printf("unesite glavni string: ");
  gets(a);
  
  printf("unesite trazeni string: ");
  gets(b);
  
  if (provjeri(a,b)==1)
    {
      printf("glavni string sadrzi trazeni string");
    }
  else
    {
      printf("glavni string ne sadrzi trazeni string!!");
    }

  return(0);
}


Stvarno se treba cuvati ovakvih gluposti...



[Ovu poruku je menjao rumpl dana 02.08.2005. u 00:53 GMT+1]
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 15:51 - pre 227 meseci
"rumpl", mozda to jesu gluposti, ali molim te odgovori mi STA je tu glupost (ne kazem da nije ( a ni da jeste), nego hocu i ja to da vidim sta vi vidite...)

uostalom, kako bi ti (vi) napravio f-ju koja radi ovo sto mi treba???ali ne koristeci nista gotovo,znaci kao sto sam ja pokusao uraditi...

hvala vam svima na odgovorima....!!

UUPPPPSSS!!! izvinjavam se, "rumpl", zaista nisam vidio tvoje komentare u sklopu moga koda....

to mi je i trebalo....

[Ovu poruku je menjao fucking voodoo dana 11.08.2005. u 16:54 GMT+1]
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 16:10 - pre 227 meseci
pa dobro jel radi sad program ono sto hoces?

"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 16:14 - pre 227 meseci
pa, evo tek sam procitao odgovore,nesto je ES zezao ovih dana,pa nisam ni stigao nista provjeriti...
nisam ni pogledao jesi li mjenjao kod...samo sam vidio da si iskomentarisao ponesto...

javicu ovdje radi li....
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 16:23 - pre 227 meseci
ako uporedis moj i tvoj kod, jedino sto se promenilo je to sto i++ vise nije u if-u.
Problem koji se pojavljivao jeste da, ako prva slova nisu jednaka,while petlja bi postala neprekidna...
Kod mene je moj kod radio...
"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

Shatterhand

Član broj: 42109
Poruke: 478
212.62.59.*



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 21:01 - pre 227 meseci
Citat:
prethodni odgovor je dobar...mada nije lose ni strtok :)

Ne vidim kako bi mu pomogla f-ja koja razbija string u tokene.
Kao gotovo resenje bi to bila strstr(), ali njemu nije trebalo gotovo ;)

[Ovu poruku je menjao Shatterhand dana 11.08.2005. u 22:02 GMT+1]
 
Odgovor na temu

IDE

Član broj: 53403
Poruke: 586
*.crnagora.net.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 21:01 - pre 227 meseci
da, da...u pravu si!!!

pa kako mi je to promaklo??? jedno obicno i++...

kod je sada u redu!! radi sada!!

hvala puno!!!!
there's something out there
waiting for us,
and it ain't no man...
 
Odgovor na temu

rumpl

Član broj: 54959
Poruke: 156
*.net81-65-34.noos.fr.



Profil

icon Re: kod za nalazenje stringa u stringu11.08.2005. u 21:12 - pre 227 meseci
nema na cemu... :)


"The problem with the world is that everyone is a few drinks behind."
-Humphrey Bogart
 
Odgovor na temu

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
*.ftn.ns.ac.yu.

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Re: kod za nalazenje stringa u stringu16.08.2005. u 22:39 - pre 227 meseci
Ljudi,
kako bih mogao konvertirati u Borland C++ 6.0 iz AnsiString-a u int i char????
Ili druga solucija. Kako da namestim da sadrzaj text box-a smestim u promenjivu tipa int ili char. Varijanta x=(int)Edit1->Text; ne prolazi.
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.nat-pool.po.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: kod za nalazenje stringa u stringu16.08.2005. u 22:51 - pre 227 meseci
Ovo pitanje nema veze sa naslovom. Uvek treba da postavis NOVO pitanje...

Citat:

Ljudi,
kako bih mogao konvertirati u Borland C++ 6.0 iz AnsiString-a u int i char????
Ili druga solucija. Kako da namestim da sadrzaj text box-a smestim u promenjivu tipa int ili char. Varijanta x=(int)Edit1->Text; ne prolazi.


Kada ti treba AnsiString da bude char*, onda mozes da upotrebis funkciju c_str():

// na primer:
AnsiString Text = "Bilo šta";
Funkcija( Text.c_str() ); // Funkcija ( char* )

kada vrsis konverziju u int moze:
x = StrToInt( Edit1->Text );

Takodje pogledaj StrToIntDef(), TryStrToInt(), TryStrToInt64()




 
Odgovor na temu

tarzan063
Laslo Tarjan
Asistent, Fakultet tehnickih nauka, Novi
Sad
Novi Sad

Član broj: 32773
Poruke: 74
*.net
Via: [es] mailing liste

ICQ: 114649939
Sajt: www.ns-elektronika.com


Profil

icon Re: kod za nalazenje stringa u stringu17.08.2005. u 00:32 - pre 227 meseci
I jesam. U Svakom slucaju hvala.
Laslo
--------------------------
www.ns-elektronika.com
[email protected]
-----------------------------
Zarada Free Bitcoina: http://freebitco.in/?r=243567
 
Odgovor na temu

[es] :: C/C++ programiranje :: kod za nalazenje stringa u stringu

[ Pregleda: 3192 | Odgovora: 17 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.