Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- const unsigned int N=4;
- void puntatore (string A[],unsigned int N, int h);
- bool cerca(string a, string temp);
- int main()
- {
- int h=2; // h e' il numero di caratteri da cercare
- string A[]={"questos","eunesempios","distringheos","gringos!!"};
- cout<<"Cerchiamo una sottostringa ripetuta di "<<h<<" caratteri... se la troviamo allora il risultato e' un cout\n";
- cout<<"che punta alla locazione di memoria... ";
- puntatore(A,N,h);
- return 0;
- }
- bool cerca(string a, string temp)
- {
- unsigned int i=0, b=temp.length();
- while (i<=a.length()-b)
- { //cout<<a.substr(i,b)<<"=="<<temp<<"?\n";//per debug
- if (a.substr(i,b)==temp) return true;
- else i++;
- }
- return false;
- }
- void puntatore (string A[],unsigned int N, int h)
- {
- unsigned int k=0,i=1;
- string temp;
- while (k<=A[0].length()-h)
- {
- temp=A[0].substr(k,h);
- if (!cerca(A[i],temp))
- {
- k++;
- i=1;
- }
- else i++;
- if (i==N)
- {
- cout<<&A[0]+k;
- break;//serve per uscire dal while senza errori di memoria
- }
- }
- cout<<"Spiacente...nessuna stringa di "<<h<<" caratteri trovata..";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement