Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Vytautas Rimkus Taurages Zalgiriu gimnazija
- #include <fstream>
- #include <string>
- #include <ctype.h>//tolower
- #include <sstream>//String stream
- using namespace std;
- const char IVEST[]="Duomenys.txt";
- const char ISVEST[]="Rezultatai.txt";
- //Skaitymo is failo funkcija
- void skaitymas (const char IV[], string &zodis, string &sakinys)
- {
- ifstream in (IV);
- std::getline(in, zodis);
- zodis = zodis.substr(0, zodis.length()-1);//Išmetam nereikalingą eilutės atskyrimo pažymėjimą esantį teksto gale
- stringstream strStream;
- strStream << in.rdbuf();
- sakinys = strStream.str();
- in.close();
- }
- void paieska (string zodis, string sakinys, int &z_sk)
- {
- //tikslas: ieškoti žodį nepriklausomai nuo jo dydžio. Tikslas pasiekiamas ASCII didžiasias raides sumažinant. Naudojant, pavyzdžiui, Boost biblioteką galima ir kitų koduočių (pvz., UTF-8) simbolius sumažinti.
- for(unsigned i = 0; i < zodis.length(); ++i)
- zodis[i] = tolower(zodis[i]);
- for(unsigned i = 0; i < sakinys.length(); ++i)
- sakinys[i] = tolower(sakinys[i]);
- //Ieškom:
- size_t position=-1;
- while((position = sakinys.find(zodis, ++position)) != std::string::npos)
- z_sk++;
- /* Arba 3 eilutėm ilgesnis variantas:
- do {
- position = sakinys.find(zodis, ++position);
- if(position != std::string::npos)
- z_sk++;
- } while (position != std::string::npos);*/
- }
- // Isvedimo i fala f-ja
- void isvedimas (const char IS[], int z_sk)
- {
- ofstream out (IS);
- out << z_sk << endl;
- out.close();
- }
- int main()
- {
- setlocale(LC_ALL, "Lithuanian");
- string zodis;
- string sakinys;
- int z_sk=0;
- skaitymas (IVEST, zodis, sakinys);
- paieska (zodis, sakinys, z_sk);
- isvedimas (ISVEST, z_sk);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment