#3 letsthrowq
Udělal jsem si chvilku a napsal takového strašáka, na kterém to snad jde vidět. (Já vím, je to hrůza, ale dělal jsem to na rychlo)
1.část: Vloží slova do stringu a učí znak dle kterého se bude třídit
2.část(Kdyby se upravila tato část tak by se ušetřilo dosti operací) : Rozdělí slova dle tečky,čárky,mezery a uloží je do vectoru delic.... ale dá se místo této části použít strtok
3.část: Napraví chyby způsobené 2.části a odstraní slova jenž nezačínají na dané písmeno.
4.část Vypíše slova.
#include <iostream>
#include <string.h>
#include <vector>
using namespace std;
int main()
{
vector<string> delic;
string slova;
char znak;
delic.push_back("");
cout << "Napis slova: ";
getline(cin,slova);
cout << "Pismeno podle ktereho vytridi slova: "; // 1.cast
cin >> znak;
for(unsigned int i = 0;i < slova.length();++i) // 2.cast
{
if((slova[i]== ' ') || (slova[i]== '.') || (slova[i]== ',') && (delic[delic.size() - 1] != ""))
{
delic.push_back("");
}
else delic[delic.size()-1] += slova[i];
}
for(unsigned i = 0; i < delic.size();++i) // 3.cast
{
if((delic[i]== "")||(delic[i][0] != znak))
{
delic.erase(delic.begin() + i);
i = i - 1;
}
}
for(unsigned i = 0; i < delic.size();++i) // 4. cast
{
cout << delic[i] << endl;
}
return 0;
}