Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Išspręskite problemą programos pagalba, kuri žodžius, turinčius daugiau negu
- * 4 priebalses atspausdintų atgaline tvarka (t.y. programos = somargorp)
- * (nuskaitytų duomenis iš failo, o pakeistą tekstą parašytų į kitą failą).
- Reikalavimai:
- 1. Parašykite programą, kuri nuskaito tekstą iš failo ir išveda į kitą failą.
- 2. Vartotojas įveda įvesties ir išvesties failų vardus.
- 3. Teksto keitimui panaudojama funkcija arba procedūra.
- 4. Žodžiai atskiriami tarpu/tarpais.
- 5. Žodis tai simbolių seka (apart tarpo).
- 6. Tekstas keičiamas kiekvienoje eilutėje, t.y. tekstas su eilutėmis.
- 7. Teksto ilgis ribojamas iki 255 simbolių, likę simboliai nenaudojami
- teksto keitime.
- 8. Programoje turi būti I/O failų klaidų valdymas. */
- #include <fstream>
- #include <iomanip>
- #include <iostream>
- #include <string>
- using namespace std;
- string pradinis, rezultatu; // failai
- void TekstoAnalize();
- void PriebalsiuPaieska(string eil);
- void IrasytiAtvirkstineTvarka(string zodis);
- int main()
- {
- setlocale(LC_ALL, "Lithuanian");
- cout << "Duomenų failas: "; cin >> pradinis;
- cout << "Rezultatų failas: "; cin >> rezultatu;
- return 0;
- }
- /* Teksto skaitymas po vieną eilutę ir analizavimas. */
- void TekstoAnalize()
- {
- ifstream fd(pradinis.c_str());
- string eil;
- while (!fd.eof())
- {
- getline(fd, eil);
- PriebalsiuPaieska(eil);
- }
- fd.close();
- }
- /* Eilutėje išskiria žodžius, kuriuose ieško priebalsių skaičiaus.
- * eil - eilutė, kurioje ieškomi žodžiai */
- void PriebalsiuPaieska(string eil)
- {
- eil = eil + " ";
- int zpr, zpb = 0; // žodžio pradžia ir pabaiga eilutėje
- zpr = eil.find_first_not_of(' ', zpb);
- while (zpr != -1)
- {
- zpb = eil.find_first_of(' ', zpr);
- eil.substr(zpr, zpb - zpr); // žodžio išskyrimas
- for (int i = 0; i < eil.length(); i++)
- {
- // papildysi if'ą jei trūksta
- // dar galima ir trumpiau jį aprašyt, bet tingiu galvot ar bandyt prisimint
- if (eil.at(i) != 'a' || eil.at(i) != 'e' || eil.at(i) != 'i' || eil.at(i) != 'y' || eil.at(i) != 'o' ||
- eil.at(i) != 'u')
- IrasytiAtvirkstineTvarka(eil);
- }
- zpr = eil.find_first_not_of(' ', zpb);
- }
- }
- /* Įrašo žodį į failą atgaline tvarka.
- * zodis - žodis kurį įrašo */
- void IrasytiAtvirkstineTvarka(string zodis)
- {
- ofstream fout(rezultatu, ios::app);
- zodis.reserve();
- fout << zodis << endl;
- fout.close();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement