Separarea cuvintelor



#include <iostream>
#include <cstring>

using namespace std;

int main()
{
   char sir[10];
   cin.get(sir, 10);
   int i=0; //vom parcurge sirul
   while(i<strlen(sir))
   {
      char cuvant[10];
      cuvant[0]='\0'; //golim sirul
      int j=0; //vom construi sirul cuvant[]
      while(i<strlen(sir) && sir[i]!=' ')
      {
         cuvant[j]=sir[i];
         i++;
         j++;
      }
      cuvant[j]='\0'; //eliminam caracterele reziduale
      cout<<cuvant<<endl;
      while(sir[i]==' ') //sa sarim peste spatii
         i++;
   }
}

Explicatie:

- vom parcurge sirul initial cu ajutorul indicelui i
- intr-un vector auxiliar, cuvant[], ne vom memora cate un cuvant, delimitat de spatii, sau care se afla la final
- in momentul in care gasim primul caracter diferit de spatiu vom incepe sa bagam cate un caracter in vectorul nostru auxiliar si ne vom opri in momentul in care dam de un spatiu sau ajungem la finalul sirului
- dupa ce am izolat un cuvant, vom sari peste spatii
- procesul se repeta pana termina de izolat toate cuvintele