Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- #include <string>
- #include <ctype.h>
- using namespace std;
- const char ivedimo_failas[] = "Duomenys.txt";
- const char isvedimo_failas[] = "Rezultatai.txt";
- //Konvertuojamos ASCII raidės į mažesnes.
- string sumazinti_raides(string tekstas) {
- for(unsigned i = 0; i < tekstas.length(); ++i)
- tekstas[i] = tolower(tekstas[i]);
- return tekstas;
- }
- //Pašalinam nereikalingus simbolius iš žodžio/teksto galų
- string trim(string s) {
- const char nereikalingi_simboliai[] = " ,.-()[]\n\r\t";
- s.erase(0, s.find_first_not_of(nereikalingi_simboliai));//left trim
- s.erase(s.find_last_not_of(nereikalingi_simboliai)+1);//right trim
- return s;
- }
- //„Pradinių“ duomenų skaitymo funkcija tik dėl sąlygos
- string ivesti_ieskoma_zodi(ifstream &is_failo) {
- string ieskomas_zodis;
- is_failo >> ieskomas_zodis;
- return ieskomas_zodis;
- }
- //Surasti žodį.
- int surasti_zodi(string ieskomas_zodis, ifstream &is_failo) {
- int rasta = 0;
- string teksto_zodis;
- ieskomas_zodis = sumazinti_raides(ieskomas_zodis);
- while(is_failo >> teksto_zodis)
- if(ieskomas_zodis == trim(sumazinti_raides(teksto_zodis)))
- ++rasta;
- return rasta;
- }
- //Išvesti rezultatus į failą.
- void isvesti(const char isvedimo_failas[], int surasta) {
- ofstream out(isvedimo_failas);
- out << surasta << endl;
- }
- int main() {
- ifstream in(ivedimo_failas);
- string ieskome_zodzio = ivesti_ieskoma_zodi(in);
- int surasta = surasti_zodi(ieskome_zodzio, in);
- isvesti(isvedimo_failas, surasta);
- //Arba viena eilutė funkciniu dizainu vietoje aukščiau esančių trijų eilučių:
- //isvesti(isvedimo_failas, surasti_zodi(ivesti_ieskoma_zodi(in), in));
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment