|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Dec 2005
Messaggi: 2
|
[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!! Ultima modifica di skaks : 07-12-2005 alle 16:47. |
|
|
|
|
|
#2 |
|
Junior Member
Iscritto dal: Dec 2005
Messaggi: 2
|
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; } |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:54.



















