Program licza słowa w tekście i wyodrębnia je
#include <iostream>
#include <string>
using namespace std;
int main()
{
const string znaki(" ,:;.'<>*-=+!@#$%^&*()~`?[]{}_/");
string tekst="",tab[100];
string::size_type poczatek,koniec,ostspacja,ostlitera,ilosc;
int k,z,oslit,osspac,s;
cout<<"Podaj tekst: aby zakonczyc wpisz 'koniec'"<<endl;
while(getline(cin,tekst)){
if(tekst=="koniec")break;
if (tekst.empty()){
cout<<"Nie podales zadnego tekstu!!!"<<endl<<endl;
cout<<"Podaj tekst: "<<endl;
continue;
}
if(tekst.find('.')==string::npos){
tekst+=".";
}
ilosc=tekst.size();
s=static_cast<int>(ilosc);
ostlitera=tekst.find_last_not_of(znaki,s);
oslit=static_cast<int>(ostlitera);
ostspacja=tekst.find_last_of(znaki,oslit);
osspac=static_cast<int>(ostspacja);
int p=0, i,l=0;
int licznik=0;
while(p!=oslit+1){
l++;
poczatek=tekst.find_first_not_of(znaki,p);
p=static_cast<int>(poczatek);
koniec=tekst.find_first_of(znaki,p);
k=static_cast<int>(koniec);
i=k-p;
tab[l]=tekst.substr(p,i);
cout<<tab[l]<<endl;
p=k;
koniec=tekst.find_first_of(znaki,p);
z=static_cast<int>(koniec);
k=z;
licznik++;
}
cout<<"Ilosc slow: "<<licznik<<endl;
}
system("pause");
return 0;
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
const string znaki(" ,:;.'<>*-=+!@#$%^&*()~`?[]{}_/");
string tekst="",tab[100];
string::size_type poczatek,koniec,ostspacja,ostlitera,ilosc;
int k,z,oslit,osspac,s;
cout<<"Podaj tekst: aby zakonczyc wpisz 'koniec'"<<endl;
while(getline(cin,tekst)){
if(tekst=="koniec")break;
if (tekst.empty()){
cout<<"Nie podales zadnego tekstu!!!"<<endl<<endl;
cout<<"Podaj tekst: "<<endl;
continue;
}
if(tekst.find('.')==string::npos){
tekst+=".";
}
ilosc=tekst.size();
s=static_cast<int>(ilosc);
ostlitera=tekst.find_last_not_of(znaki,s);
oslit=static_cast<int>(ostlitera);
ostspacja=tekst.find_last_of(znaki,oslit);
osspac=static_cast<int>(ostspacja);
int p=0, i,l=0;
int licznik=0;
while(p!=oslit+1){
l++;
poczatek=tekst.find_first_not_of(znaki,p);
p=static_cast<int>(poczatek);
koniec=tekst.find_first_of(znaki,p);
k=static_cast<int>(koniec);
i=k-p;
tab[l]=tekst.substr(p,i);
cout<<tab[l]<<endl;
p=k;
koniec=tekst.find_first_of(znaki,p);
z=static_cast<int>(koniec);
k=z;
licznik++;
}
cout<<"Ilosc slow: "<<licznik<<endl;
}
system("pause");
return 0;
}