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

Razlika karaktera od space-a

[es] :: C/C++ programiranje :: Razlika karaktera od space-a

[ Pregleda: 3774 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

thejackal

Član broj: 86981
Poruke: 11
213.244.197.*



Profil

icon Razlika karaktera od space-a16.03.2006. u 14:20 - pre 220 meseci
Da li u c++ postoji funkcija koja razlikuje karkter od razmaka
odnosno da li postoji nacin da se iz recenice cita string po string a da se razmak preskace.
npr:
hocu da izdvojim svaku rec posebno iz recenice
"Zasto slon ima crvene oci?"
1.Zasto
2.slon
3.ima
4.crvene
5.oci


 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.adsl.sezampro.yu.



+67 Profil

icon Re: Razlika karaktera od space-a16.03.2006. u 14:35 - pre 220 meseci
naravno da moze

uzimas karakter po karakter i proveravas da li je razmak ,
i razmak je karakter , u ascii tabeli ima oznaku 20h ili ti 20 u heksadecimalnom zapisu

npr:
Code:

main()
{

char recenica[300] = "Slon ima crvene oci";
int i;

for(i=0;i<sizeof(recenica);i++) if(recenica[i]=='\x20') recenica[i]= '\n';
printf("%s",recenica);
}


pisano na brzineu , ne zamerite ...
 
Odgovor na temu

idb
Ivan Bulic
Beograd

Član broj: 4436
Poruke: 402



Profil

icon Re: Razlika karaktera od space-a16.03.2006. u 14:57 - pre 220 meseci
Ako ostajes u oviru ascii skupa karaktera, postoji funkcija - vec pisano otome deset tema ispod...
Code:
#include <string.h>
  char *strtok( char *str1, const char *str2 );

Nije obavezno da razmak bude separator reci, nego moze i nesto drugo...
 
Odgovor na temu

android~paranoid

Član broj: 81947
Poruke: 211
*.zrlocal.net.



Profil

icon Re: Razlika karaktera od space-a16.03.2006. u 17:28 - pre 220 meseci
Imao sam slican problem samo da napisem reci u obrnutom redosledu .
Neko mi je pomogao oko toga, i strtok lepo odradi posao, ali sam gledao
man stranicu u linuxu pa se valjda ne preporucuje ta f-ja, nego neka slicna (mozes pogledati).

Uglavnom, meni je radilo.

Da, bio je to idb . 10x :)

http://www.elitesecurity.org/tema/161339
Mislim, šta reći !
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
*.powernet.bg.

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: Razlika karaktera od space-a16.03.2006. u 18:27 - pre 220 meseci
Ako ti ne smeta, mozes koristiti i int isspace(int); Ta vraca ne-nula ako mu je dat bilo koji space-karakter (Tab, Space, LF, CR, ...).

Code:
#include <ctype.h>

void f(const char*s)
{
    // ...
    
    while(*s)
    {
        if(isspace(*s))
        { /* ... */ }
        // ...

        s++;
    }
}


*edit* code skresan...

[Ovu poruku je menjao Mali Misha dana 16.03.2006. u 19:33 GMT+1]
Ipak se ++uje.
 
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: Razlika karaktera od space-a16.03.2006. u 18:33 - pre 220 meseci
Pogledaj ovde da li ti odgovara:
http://www.codeguru.com/cpp/tic/tic0226.shtml

 
Odgovor na temu

k4rl0
Localhost

Član broj: 87683
Poruke: 142
*.adsl.net.t-com.hr.



Profil

icon Re: Razlika karaktera od space-a16.03.2006. u 21:37 - pre 220 meseci
Meni je ovo najljepsi nacin rastavljanja na rjeci

Code:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string recenica,rijec[50];
    int i,b;
    b=1;
    getline(cin,recenica);
    for(i=0;i<recenica.length();i++)
    {
    if(recenica.substr(i,1)!=" ")
         rijec[b]=rijec[b]+recenica.substr(i,1);        
                                 
    if(recenica.substr(i,1)==" ")
          b++;
    }
    
    for(i=1;i<=b;i++)
    {
    cout<<rijec[i]<<"\n";
    }
       
    cout<<"\n";
    system("PAUSE");
}
 
Odgovor na temu

pcaca
Aleksandar
Makedonija

Član broj: 5333
Poruke: 92
62.220.218.*



Profil

icon Re: Razlika karaktera od space-a17.03.2006. u 00:34 - pre 220 meseci
Recenicu mozes rastaviti jos pri ucitavanju.
Code:

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
    string rec;
    vector<string> recenica;
    cout << "Unesi jednu recenicu: ";
    while (cin >> rec) //citas reci sve do EOF (na Windows Ctrl+Z)
        recenica.push_back(rec);
    //sada u vectoru recenica imas izdvojene reci
    for (size_t i = 0; i != recenica.size(); ++i)
        cout << recenica[i] << endl;
}

Kad uneses recenicu pritisnes Enter pa onda pritisnes Ctrl+Z pa opet Enter da zavrsis ciklus. Kontrola ciklusa mozes izvesti i na drugi nacin. Na primer mozes citati recenicu dok ne naigjes na tacku kao zadni karakter:
Code:

do {
        cin >> rec;
        recenica.push_back(rec);
    } while (rec[rec.size() - 1] != '.');
 
Odgovor na temu

[es] :: C/C++ programiranje :: Razlika karaktera od space-a

[ Pregleda: 3774 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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