Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Prelucrarea sirurilor de caractere
- biblioteca string.h
- Clasificare :
- [1] functii de cautare :
- - strtok (*)
- - strstr
- - strpbkr
- [2] functii de comparare
- - strcmp
- strcmp intoarce integer
- -1
- 0
- 1
- interpretat dupa precedenta caracterelor din tabela ASCII
- exemplu :
- AB de comparat cu AC se interpreteaza 65 66 de comparat cu 65 67
- si rezultat final primul mai mic decat cel de al doilea
- Comparatiile dupa codurile din tabela ASCII continua pana la sfarsitul sirului
- exemplu :
- ABC ABCD rezultat final primul mai mic decat cel de al doilea
- Aplicatie :
- Fie un text citit de pe o singura linie din fisierul "input.dat"
- Sa se afiseze cuvintele si frecventa lor de aparitie pe doua coloane
- - stricmp
- [3] Functii de conversie
- - strtoi
- [4] Functii de copiere
- - strcpy
- =======
- sa se elimine spatiile inutile dintr-un text
- Obs :
- 1. Se extrag succesiv toate cuvintele din text ( de exemplu cu strok )
- 2. Fraza se reconstruieste prin adaugare la sfarsitul fiecarui cuvant a
- unui caracter spatiu ( de exmeplu cu strcat "string concatenate" )
- 3. Apare un caz particular in momentul adaugarii ultimului cuvant
- ( dupa acesta nu trebuie adaugat spatiu )
- ( de exemplu strtok intoarce NULL )
- ===========================================
- verificare :
- Lungimea totala frazei reconstruite trebuie sa fie o suma din
- lungimile cuvintele utilizate si a celor n-1 spatii intre acestea
- ( de exemplu cu strlen pentru aflarea lungimii cuvintelor extrase )
- =======
- sa se construiasca arborele ( heap-ul ) frecventelor de aparitie a cuvintelor in text
- */
- #include <iostream>
- #include <string.h>
- using namespace std;
- int main()
- {
- char *the_string=new char;
- char *delimitator=" ";
- int nr=0;
- char *the_copy=new char;
- char *position=new char;
- cout<<" Input data = ";
- cin.get(the_string,255);
- strcpy(the_copy,the_string);
- position=strtok(the_copy,delimitator);
- while (position)
- {
- nr++;
- // strcpy(words[nr],position);
- position=strtok(NULL,delimitator);
- }
- cout<<"Sunt "<<nr<<" cuvinte:"<<endl;
- //for (i=1;i<=nr;i++) cout<<words[i]<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement