View Full Version : [c++]Trovare occorrenze di stringhe in1testo
salve!!
qualcuno mi sa dire come si può scrivere un programma ke ricerca le occorrenze di stringhe prese in input in un testo e ne restituisce la posizione del primo carattere dell'occorrenza nel file d testo?
grazie!!
ho trovato questo prog..xo nn riesco a capire ke cosa fa la funzione "BOOL SOTTO SEQUENZE" mi sapete dare una mano?
grazie!
#include <iostream>
#include <fstream>
using namespace std;
fstream file_da_leggere;
char nome_del_file[32];
char testo_da_esaminare[10000];
char sequenza_da_cercare[80];
bool trovata;
bool sotto_sequenze(char v[], int m, char s[], int n)
{
for (int i=0; i <= (m-n); i++)
{
int j=0;
while (s[j]==v[i] && j<n)
{
j++;
i++;
}
if (j==n)
{
cout << "Stringa trovata in posizione " << i-n << '\n';
trovata=true;
}
}
return trovata;
}
int main()
{char r;
do
{
int sequenza=0, caratteri=0;
trovata=false;
cout << "Quale file vuoi analizzare? \n";
cin >> nome_del_file;
cin.get(r); // serve per “scaricare” il \n appena battuto dall'utente
file_da_leggere.open(nome_del_file, ios::in);
while (file_da_leggere.get(testo_da_esaminare[caratteri]) &&
caratteri<10000) caratteri++;
cout << "Quale sequenza di caratteri vuoi cercare? \n";
cin>>sequenza_da_cercare;
while (cin.get(sequenza_da_cercare[sequenza]) && sequenza_da_cercare
[sequenza] != '\n' && sequenza < 80) sequenza++;
if (!sotto_sequenze(testo_da_esaminare, caratteri, sequenza_da_cercare,
sequenza))
cout << "sequenza non trovata. \n";
file_da_leggere.clear();
file_da_leggere.close();
cout << "Vuoi continuare? (y/n)";
cin.get(r);
}
while(r=='y');
return 0;
}
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.