Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <string>
- using namespace std;
- int zeichenkette_suchen_rekursiv(string text, string zkette,
- unsigned int text_pos = 0,
- unsigned int text_such_pos = 0,
- unsigned int zkette_such_pos = 0)
- {
- if (char (text.at(text_such_pos)) == char (zkette.at(zkette_such_pos)))
- {
- if (zkette_such_pos +1 == zkette.length())
- {
- return text_pos;
- }
- zeichenkette_suchen_rekursiv(text, zkette, text_pos, text_such_pos + 1, zkette_such_pos + 1);
- }
- else
- {
- if (text_pos +1 == text.length())
- {
- return -1;
- }
- zeichenkette_suchen_rekursiv(text, zkette, text_pos + 1, text_such_pos = text_pos, zkette_such_pos = 0);
- }
- }
- int main()
- {
- int pos = 0;
- string text, zkette;
- cout << "Bitte geben Sie den Text ein: ";
- getline(cin, text);
- cout << "Bitte geben Sie die zu suchende Zeichenkette ein: ";
- getline(cin, zkette);
- pos = zeichenkette_suchen_rekursiv(text, zkette);
- if (pos >= 0)
- {
- cout << "Die Zeichenkette '" << zkette << "' ist in dem Text '" << text << "' enthalten" << endl;
- cout << "Sie startet ab Zeichen " << pos << " (bei Zaehlung ab 0)." << endl;
- }
- else
- {
- cout << "Die Zeichenkette '" << zkette << "' ist NICHT in dem Text '" << text << "' enthalten" << endl;
- }
- system("Pause");
- return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement