Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- #include <string.h>
- #define MAX_TEKSTO_ILGIS 100
- #define MAX_ZODZIO_ILGIS 100
- void gautiDuomenis(std::string &tekstas);
- void ieskotiZodzio(std::string tekstas, std::string zodis);
- void ieskotiTrecioZodzio(std::string tekstas);
- void ieskotiAstuntosRaides(std::string tekstas, int zodzioSk);
- bool arRaide(char raide);
- int main() {
- std::string tekstas, zodis;
- zodis = "printing";
- int zodzioSk = 18;
- gautiDuomenis(tekstas);
- //ieskotiZodzio(tekstas, zodis);
- //ieskotiTrecioZodzio(tekstas);
- ieskotiAstuntosRaides(tekstas, zodzioSk);
- }
- void gautiDuomenis(std::string &tekstas) {
- std::ifstream get;
- get.open("tekstas.txt");
- tekstas.assign((std::istreambuf_iterator<char>(get)),
- std::istreambuf_iterator<char>());
- get.close();
- }
- void ieskotiZodzio(std::string tekstas, std::string zodis) {
- int tekstoIlgis = tekstas.length();
- int zodzioIlgis = zodis.length();
- int zodzioRaide = 0;
- bool radomZodzioPradzia = false;
- for (int i = 0; i < tekstoIlgis; i++) {
- if (radomZodzioPradzia == true) {
- if (tekstas[i] == zodis[zodzioRaide]) {
- zodzioRaide++;
- if (zodzioIlgis == zodzioRaide) {
- // zodzio pabaiga, paziuresim galune
- if (!arRaide(tekstas[i + 1])) {
- std::cout << "Zodis rastas" << std::endl;
- break;
- }
- }
- } else {
- radomZodzioPradzia = false;
- }
- } else if (tekstas[i] == zodis[0]) {
- radomZodzioPradzia = true;
- zodzioRaide = 1;
- }
- }
- }
- void ieskotiTrecioZodzio(std::string tekstas) {
- int tekstoIlgis = tekstas.length();
- int zodziai = 0;
- bool prasidedaZodis = false;
- bool ieskotiNaujosEilutes = false;
- std::string zodis;
- for (int i = 0; i < tekstoIlgis; i++) {
- if (prasidedaZodis == true) {
- if (tekstas[i] == ' ') {
- std::cout << zodis << std::endl;
- prasidedaZodis = false;
- ieskotiNaujosEilutes = true;
- zodziai = -1;
- zodis = "";
- } else {
- zodis += tekstas[i];
- }
- } else if (ieskotiNaujosEilutes == true) {
- if (tekstas[i] == '.') {
- ieskotiNaujosEilutes = false;
- }
- } else {
- if (tekstas[i] == ' ') {
- zodziai++;
- }
- if (zodziai == 2) {
- prasidedaZodis = true;
- }
- }
- }
- }
- void ieskotiAstuntosRaides(std::string tekstas, int zodzioSk) {
- int tekstoIlgis = tekstas.length();
- int zodis = 1;
- int raide = 0;
- bool prasidedaZodis = false;
- for (int i = 0; i < tekstoIlgis; i++) {
- if (tekstas[i] == ' ') {
- zodis++;
- if (zodis == zodzioSk) {
- prasidedaZodis = true;
- }
- } else if (prasidedaZodis == true) {
- if (arRaide(tekstas[i])) {
- raide++;
- if (raide == 8) {
- std::cout << tekstas[i] << std::endl;
- break;
- }
- } else {
- break;
- }
- }
- }
- }
- bool arRaide(char raide) {
- std::string abecele = "abcdefghijklmnopqrstuvwxyz";
- return (abecele.find(raide) != std::string::npos);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement